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 <li...@amplus.com.br>: >> 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: shell-script-unsubscr...@yahoogrupos.com.br >> --------------------------------------------------------------------- >> 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: shell-script-unsubscr...@yahoogrupos.com.br > --------------------------------------------------------------------- > 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 > > >