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

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

Re: [shell-script] ultimos 5 minutos do arquivo de log


From: Ricardo Vendramini
Subject: Re: [shell-script] ultimos 5 minutos do arquivo de log
Date: Tue, 05 May 2009 12:21:47 -0300
User-agent: Thunderbird 2.0.0.19 (X11/20090105)


        Pessoal,

        Acabei tentando da seguinte forma:

#!/bin/bash

LOG="/var/log/maillog"

CNT_FILE="maillog_cnt"


if [ -f $CNT_FILE ]; then
    PTR=`cat $CNT_FILE`
else
    PTR=0
fi

TOT=`wc -l $LOG|cut -d" " -f1`

if [ $TOT -lt $PTR ]; then
    PTR=0
fi
echo "$TOT" > $CNT_FILE

TMP=`tail -n +$PTR $LOG`


O script pega o total de linhas do log (wc -l) e armazena num arquivo temporario "maillog_cnt". A cada 5 minutos (pelo crond) o script pega da linha que esta no maillog_cnt até o fim com o tail -n +xxx e atualiza o contador em mailloc_cnt.

Se alguem tiver alguma ideia para melhorar, agradeco. De qualquer forma ai esta a solucao que encontrei, pode ser util para alguem.

        Vou tentar tambem a ideia abaixo do Eri e ver qual parece ser mais 
rapida..

        Obrigado

        Ricardo

Eri Ramos Bastos wrote:
Quase certeza que alguém deve saber um jeito muito mais fácil com sed
ou awk, mas uma solução toda em bash:

for time in {5..1}; do egrep "^$(date "+%b %e %H:%M" -d "-${time}
minutes"):.*" /var/log/maillog; done

[]'s
Eri Ramos Bastos

2009/5/4 Ricardo Vendramini <address@hidden>:
       Pessoal,

       Estou quebrando a cabeca e nao encontrei uma solucao para o seguinte
problema:

       Preciso somente das linhas de um arquivo de log correspondentes aos
ultimos 5 minutos. O arquivo de log é o /var/log/maillog

       O tail me da as ultimas  "n" linhas, mas as vezes nao ha nada novo nos
ultimos 5 minutos, como pode haver muita coisa nesse tempo. Entao o nro
de linhas nao é fixo.

       O script que vai checar esse log esta no crond para rodar de 5 em 5
minutos.

       Alguem tem alguma sugestao?


       Obrigado

       Ricardo



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos





------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos






reply via email to

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