shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Ajuda Iniciante


From: Standler meir
Subject: Re: [shell-script] Ajuda Iniciante
Date: Fri, 3 Apr 2009 10:01:47 -0700 (PDT)

Olá Julio,
 
Fiz a alteração que você sugerio, porém não manda os e-mail....
Por isso tem o if para fazer a checagem e enviar...
 
Com relação a ultima linha não tem problema porque esse 

--- Em sex, 3/4/09, Julio C. Neves <address@hidden> escreveu:

De: Julio C. Neves <address@hidden>
Assunto: Re: [shell-script] Ajuda Iniciante
Para: address@hidden
Data: Sexta-feira, 3 de Abril de 2009, 10:54






Fala Standler,

vc pode tranquilamante trocar:

*(tail -f /var/log/apache2/ access.log | grep -q "10.1.1.31")
if [ "$?" = "0" ]; then
grep -i "10.1.1.31" /var/log/apache2/ access.log | mail -s "teste"
skfogo@gmail. com <skfogo%40gmail. com>
*
por:

*Achei=$(tail -f /var/log/apache2/ access.log | grep "10.1.1.31") &&
grep -B2 -A5 "$Achei" /var/log/apache2/ access.log | mail -s "teste"
skfogo@gmail. com <skfogo%40gmail. com>
*
Mas o que eu acho estranho é que se vc está pegando o dado com* tail
-f, *teoricamente
esta linha é a última, não existindo as 5 linhas após. Pense nisso, pq
talvez seja necessário um* sleep *ou algo do gênero.
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988
*

2009/4/3 Standler meir <skfogo@yahoo. com.br>

> Olá Jimmy,
>
> Muito obrigado pela contribuição, mas também não resolveu porque não envia
> ose-mail´s.
>
> Andei pesquisando e da forma que estou fazendo não tem como mesmo, porque
> o tail não para de rodar, a menos que seja cancelado. até lá, ele vai ficar
> rodando, e não vai gerar o log.
>
> Ai Professor Julio, como sempre com foco e disciplina e com suas dicas
> avancei um pouco mais meu script.
>
>
> #!/bin/bash
> while true; do
> (tail -f /var/log/apache2/ access.log | grep -q "10.1.1.31")
> if [ "$?" = "0" ]; then
> grep -i "10.1.1.31" /var/log/apache2/ access.log | mail -s "teste"
> skfogo@gmail. com <skfogo%40gmail. com>
> fi
> done
>
> Bom galera acho que nem preciso explicar o script né? afinal aqui só tem
> fera e eu estou só engatinhando.
> Também sei que esta não é a maneira mais elegante para resolver meu
> problema, mas está resolvendo parcialmente.
>
> Agora galera o que preciso é fazer de uma forma que eu pegue somente 5
> linhas abaixo e duas linhas acima, alguém pode me dar uma ajuda para fazer
> uma filtragem legal?
>
> Mais uma vez grato pela ajuda de todos.
>
> Abraço
>
>
>
> --- Em qui, 2/4/09, jimmy <ronaldo_tgz@ yahoo.com. br<ronaldo_tgz% 
> 40yahoo.com. br>>
> escreveu:
>
> De: jimmy <ronaldo_tgz@ yahoo.com. br <ronaldo_tgz% 40yahoo.com. br>>
> Assunto: Re: [shell-script] Ajuda Iniciante
> Para: shell-script@ yahoogrupos. com.br <shell-script% 40yahoogrupos. com.br>
> Data: Quinta-feira, 2 de Abril de 2009, 17:58
>
>
> On Thu, Apr 02, 2009 at 11:14:56AM -0700, Standler meir wrote:
> > Se eu fizer assim ele manda o e-mail mas ai não está monitorando:
> >
> > #!/bin/bash
> >
> > tail -5 /var/log/apache2/ access.log | grep "10.1.1.31" | mail -s "teste"
> skfogo@gmail. com
> >
> > Alguma sugestão?
>
> tail -5 pega apenas as 5 últimas linhas do arquivo ao invés de "monitorar"
> a
> inserção de novas linhas, creio que sua necessidade exige algo que
> funcione como um daemon
>
> minha sugestão seria:
>
> tail -f /var/log/apache2/ access.log | awk '/10\.1\.1\. 31/{system( "mail
> -s \"teste\" skfogo@gmail. com")}'
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------ --------- ---------
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

[As partes desta mensagem que não continham texto foram removidas]

















      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]