#!/bin/bash
# Set some variables here
logfile="/var/log/httpd/server_error_log"
pattern="[error]"
email="harlei@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
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?attHarlei
2011/10/5 P. J. <pjotamail@gmail.com>Em 5 de outubro de 2011 00:17, Harlei Liguori Marcelino
<hliguori@gmail.com> escreveu:
> Amigos,
>http://www.icinga.org/
> 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.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-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] CACnf0piLED_6Lzx16bE+o4Fk1UziKgExoL_1sVQxdR9eXDW8Xw@mail.gmail.com" target="_blank">http://lists.debian.org/[🔎] CACnf0piLED_6Lzx16bE+o4Fk1UziKgExoL_1sVQxdR9eXDW8Xw@mail.gmail.com