*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
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=`
Já tentou usar:
tail -f /var/log/maillog
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 :
>
> Pessoal,
>
> Es
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 veze