Parafraseando o Hamilton, fazendo com AWK você inclusive economiza CPU, já
que não precisa forkear processos que são criados por pipes.

2010/11/18 Hamilton Vera <[email protected]>

> Oi Mateus, beleza?
>
> Recomendaria você utilizar o isoqlog e o awstats, que são bem simples
> e gráficos.
>
> Outras dicas:
>
> - Não precisa dar um cat no arquivo, você pode simplesmente passar /
> grep string arquivo / , utilizando seu exemplo ficaria assim:
>
>  grep Checking /var/log/mail.info | cut -d" " -f 1,2,3,9,10,11,12 >
> /bkp/relatorios/enviados
>
> - Utilize o awk e o sed com eles você vai conseguir fazer bem bacanas
> :) pois oferecem mais recursos, exemplo:
>
>  grep Checking /var/log/mail.info | awk '{print "Data: " $1$2$3 " IP:
> "$4" From: "$5}'   \ não testei isso pois meu log é diferente e não
> tenho acesso ao servidor no momento \
>
> []'s
>
> Hamilton Vera
>
> 2010/11/18 Mateus Belluzzo <[email protected]>:
> > Bom dia amigos,
> >
> > Provavelmente muitos de vocês já possuem um relatório diário com os
> e-mails
> > enviados, assim como provavelmente também muitos não o tem.
> >
> > Mesmo usando a excelente ferramenta PFLOGSUMM, eu não tinha isso até
> então
> > de forma organizada e resumida. Segue pequena contribuição que acabei de
> > criar e supriu minha necessidade, que é ter um relatório diário com as
> > seguintes colunas:
> >
> > |  DATA  |  DE QUEM  |  PARA QUEM  |
> >
> >
> ---------------------------------------------------------------------------
> >
> > 1) Como uso o Amavis, descobri que todo e-mail enviado seja de dentro
> para
> > fora ou de fora para dentro, ele gera uma linha no log com a palavra
> > Checking, verifique isso com o comando:
> >
> > # cat /var/log/mail.info | grep Checking
> >
> > A saída deverá ter algo como:
> >
> > Nov 18 10:33:09 meuservidor amavis[2528]: (02528-12) Checking:
> dl36bRSqSjBA
> > [IP_DO_REMETENTE] <[email protected]> -> <[email protected]>
> >
> >
> ---------------------------------------------------------------------------
> >
> > 2) Mesmo com o grep, a linha ainda fica meio suja, vamos limpá-la. No meu
> > caso eu quero exibir somente as colunas 1,2,3,9,10,11,12 que pode ser
> feito
> > com o comando:
> >
> > # cat /var/log/mail.info | grep Checking | cut -d" " -f 1,2,3,9,10,11,12
> >
> > A saída deverá ser algo como:
> >
> > Nov 18 10:33:09 [IP_DO_REMETENTE] <[email protected]> ->
> > <[email protected]>
> >
> >
> ---------------------------------------------------------------------------
> >
> > 3) Agora vamos jogar essa saída em algum arquivo com o comando:
> >
> > # cat /var/log/mail.info | grep Checking | cut -d" " -f 1,2,3,9,10,11,12
> >
> > /bkp/relatorios/enviados
> >
> >
> ---------------------------------------------------------------------------
> >
> > 4) E por fim, podemos agendar um script com o comando abaixo para rodar
> > diariamente e renomeando o arquivo conforme a data atual (ex: 20101118)
> >
> > # mv /bkp/relatorios/enviados /bkp/relatorios/`date +%Y%m%d`
> >
> >
> ---------------------------------------------------------------------------
> >
> > Sintam-se livres para melhorarem e contribuírem, apenas compartilhei o
> que
> > meu foi útil.
> >
> >
> > Saudações e vida longa à comunidade,
> >
> >
> > Mateus Belluzzo
> > Prefeitura de Telêmaco Borba/PR
> >
> > _______________________________________________
> > Postfix-BR mailing list
> > [email protected]
> > http://listas.softwarelivre.org/mailman/listinfo/postfix-br
> >
>
>
>
> --
> Hamilton Vera
> int Administrator (char Network[],char ComputationalSystems[])
> http://hvera.wordpress.com
> _______________________________________________
> Postfix-BR mailing list
> [email protected]
> http://listas.softwarelivre.org/mailman/listinfo/postfix-br
>
_______________________________________________
Postfix-BR mailing list
[email protected]
http://listas.softwarelivre.org/mailman/listinfo/postfix-br

Responder a