[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
>
>
>