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: Julio C. Neves
Subject: Re: [shell-script] ultimos 5 minutos do arquivo de log
Date: Fri, 8 May 2009 00:16:34 -0300

*while :
do
    nr=$(wc -l Arquivo)
    sleep 300
    tail -$(($(wc -l Arquivo)-nr)) Arquivo
done*

Não testei mas é capaz de precisar fazer um cut pois, se não me engano, o wc
gera tb um literal.
 --
Abração,
Julio
Cursos de Shell e Zenity nos finais de semana:
*- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000 (Turma prevista para 09/05);
- No RJ darei um treinamento em julho (p/ detalhes ligue (21) 2561-0867);
- Turmas fechadas em outras cidades ligue (21) 8112-9988
*
2009/5/5 Ricardo Vendramini <address@hidden>

>
>
>
> 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 <lista%40amplus.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: 
> >> address@hidden<shell-script-unsubscribe%40yahoogrupos.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: address@hidden<shell-script-unsubscribe%40yahoogrupos.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
> >
> >
> >
>
>  
>


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



reply via email to

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