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

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

Re: [shell-script] analisando logs


From: Diego Luis Kreutz
Subject: Re: [shell-script] analisando logs
Date: Thu, 24 Apr 2003 17:57:45 -0300 (BRT)

ops, acho que tem um pequeno errinho... :)
tah pegando a ID e nao o tamanho... mas com o ID fica
facil pegar o tamanho, na primeira atribuicao da variavel
SOMA... :)

On Thu, 24 Apr 2003, Diego Luis Kreutz wrote:

> 
> acho que isso qui tb funga... mas usa soh um pouquinho de sed... :)
> 
> # pega o nome do usuario remoto e o tamanha da msg
> grep 'to remote' maillog.1 | sed \
> 's/^.* msg \(.*\) to remote \(.*$\)/\2:\1/g' | sort  > xx
> 
> # pega cada usuario remoto e os tamanhos das msgs enviadas para o mesmo
> # e soma todos os tamanhos
> for i in `cat xx | cut -d":" -f1 | uniq`
> do 
>   SOMA=`grep ^$i xx | cut -d":" -f2 | sed 's/$/+/'` 
>   SOMA=`echo $SOMA | sed -e 's/ //g;s/+$//' | bc`
>   echo USUARIO REMOTE: $i BYTES: $SOMA
> done
> 
> isso para um arquivo de log de mail jah "rotado"...
> ai fica facil fazer um scriptzinho que roda todo o dia (crontab), apos o 
> logrotate, e vai juntando as informacoes diarias num "arquivinho" geral...
> 
> Listas XTMS wrote:
> 
> > Olá, lista.
> > 
> > Estou fazendo um script para analisar o log do qmail (aquela coisa chata).
> > 
> > Para quem não sabe, ele é +/- assim: 
> > 
> > 
> > Apr 16 07:10:39 linux qmail: 1050487839.319877 new msg 9483
> > Apr 16 07:10:39 linux qmail: 1050487839.320033 info msg 9483: bytes 10869 
> > from <> qp 17536 uid 64014
> > Apr 16 07:10:39 linux qmail: 1050487839.399435 starting delivery 454: msg 
> > 9483 to remote address@hidden
> > Apr 16 07:10:39 linux qmail: 1050487839.525411 end msg 9483
> > 
> > Notem que a mensagem tem um ID (9483, nesse caso) e que a mensagem começa e 
> > acaba (new msg e end msg)
> > O que eu estou tentando fazer é um script que leia todo o log do qmail e me 
> > diga ao final:
> > 
> > USUARIO REMOTO: address@hidden BYTES: 9999 bytes
> > 
> > sendo que: 
> > 1- Existem centenas de usuários remotos. E usuários remotos são adicionados 
> > e removidos sem prévio aviso
> > 2- o relatório final tem o TOTAL de bytes de todo o parse do log para 
> > aquele usuário
> > 
> > O que eu já fiz até agora:
> > 
> > #!/bin/bash
> > cat mail.log.0|while read mail log
> > do
> >         ID=" "
> >         ID=`echo "$log"|grep "new msg"|cut -d " " -f8`
> >         if [ ! -z $ID ]
> >         then
> >                 echo ID: $ID
> >         fi
> >         TO=`echo "$log"|grep "$ID"|grep "to remote"|cut -d " " -f13`
> >         if [ ! -z $TO ]
> >         then 
> >                echo TO: $TO
> >         fi
> >         BYTES=`echo "$log"|grep "$ID"|grep bytes|grep -v spamd|cut -d " " 
> > -f10`
> >         if [ ! -z $BYTES ]
> >         then
> >                echo Tamanho: $BYTES
> >         fi
> > done
> > 
> > Mas por enquanto só consigo ver o tamanho da mensagem atual e a forma como 
> > ela é apresentada não ajuda.
> > 
> > Complicador:
> > Pode acontecer uma situação assim:
> > 
> > Apr 16 07:10:39 linux qmail: 1050487839.319877 new msg 9483
> > Apr 16 07:10:39 linux qmail: 1050487839.319877 new msg 9768
> > Apr 16 07:10:39 linux qmail: 1050487839.320033 info msg 9483: bytes 10869 
> > from <> qp 17536 uid 2014
> > Apr 16 07:10:39 linux qmail: 1050487839.319877 new msg 1928
> > Apr 16 07:10:39 linux qmail: 1050487839.399435 starting delivery 454: msg 
> > 9483 to remote address@hidden
> > Apr 16 07:10:39 linux qmail: 1050487839.320033 info msg 9768: bytes 136 
> > from <> qp 17540 uid 2014
> > Apr 16 07:10:39 linux qmail: 1050487839.525411 end msg 9483
> > Apr 16 07:10:39 linux qmail: 1050487839.399435 starting delivery 455: msg 
> > 9768 to remote address@hidden
> > 
> > Onde diversos e-mails entram ao mesmo tempo e não é possível trabalhar de 
> > forma linear.
> > 
> > UFA! Espero ter sido bem claro. :)
> > 
> > 
> > []'s
> > Eri Ramos Bastos
> > 
> > 
> > ---------------------------------------------------------------------
> > 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.listasdiscussao.cjb.net
> > ---------------------------------------------------------------------
> >  
> > 
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> > http://br.yahoo.com/info/utos.html 
> > 
> > 
> > 
> 
> 
> 
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html 
> 
> 
> 



reply via email to

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