Amigos, ta dificil aqui uahauhauha será que podem me ajudar?

Por algum motivo o script abaixo le todas as linhas mas não refaz as
checagens, vejam:

#!/bin/bash


# Set some variables here

logfile="/var/log/httpd/server_error_log"

pattern="[error]"

email="har...@server.com"

erros_notificados="/root/script/erros_notificados.log"


# read each new line as it gets written to the log file

tail -fn0 $logfile | while read line ; do


  # check each line against our pattern

  echo "$line" | grep -i "$pattern"


  # if a line matches...

  if [ $? = 0 ]; then


    linha_tratada=`echo "$line" | awk '{print $9, $10, $11, $12, $13, $14,
$15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29,
$30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40}'`


    # procura linha_tratada no arquivo de erros existente

    # se nao existir, cadastra no arquivo e envia um email com conteudo de
line


    if [ $(grep -c "$linha_tratada" $erros_notificados) -eq 0 ]; then


       echo $linha_tratada >> $erros_notificados


       # send an email!

       echo "Found an error: $line" | mail $email -s ERROR

    fi

  fi

done





O problema é:


    if [ $(grep -c "$linha_tratada" $erros_notificados) -eq 0 ]; then


A primeira linha ele pega e checa, se é zero, ele cadastra a linha no
arquivo certinho, só que quando chega a segunda, terceira, etc… ele não
checa mais e da sempre o valor como 0 e ai cadastra linhas iguais no
arquivo, mesmo já tendo cadastrado anteriormente, ai envia emails sobre
problemas que já foram notificados toda hora.


Alguém sabe me ajudar a descobrir o pq q ele não checa todas as vezes?


agradeço desde já


att


Harlei

Em 5 de outubro de 2011 01:16, Harlei Liguori Marcelino
<hligu...@gmail.com>escreveu:

> Obrigado pela resposta meu amigo ;) vou verificar esses softwares...
>
> mas comecei a desenvolver um shell pra isso tb. Estou agarrado tentando
> tirar as primeiras colunas do arquivo de log do apache onde tem IP de origel
> e tal, pq essa parte geralmente será diferente mesmo. Alguém sabe como
> reverter o resultado do print do awk por exemplo para mostrar todas as
> colunas exceto as primeiras ou algo q faça isso em shell?
>
> att
>
> Harlei
>
>
>
> 2011/10/5 P. J. <pjotam...@gmail.com>
>
> Em 5 de outubro de 2011 00:17, Harlei Liguori Marcelino
>> <hligu...@gmail.com> escreveu:
>> > Amigos,
>> >
>>
>> > ou Software que faça a varredura do arquivo de erros do apache de X em X
>> > minutos, verifique os erros existentes e os envie por e-mail.
>>
>> http://www.icinga.org/
>>
>> http://www.zabbix.com/
>>
>> --
>> |  .''`.   A fé não dá respostas. Só impede perguntas.
>> | : :'  :
>> | `. `'`
>> |   `-   P.J. - http://wiki.dcc.ufba.br/~PeeJay
>>
>>
>> --
>> To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org
>> with a subject of "unsubscribe". Trouble? Contact
>> listmas...@lists.debian.org
>> Archive:
>> http://lists.debian.org/cacnf0piled_6lzx16be+o4fk1uzikgexol_1svqxdr9exdw...@mail.gmail.com
>>
>>
>

Responder a