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

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

analisando logs


From: Listas XTMS
Subject: analisando logs
Date: Thu, 24 Apr 2003 07:31:37 -0300

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


reply via email to

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