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
