11 de ago de 2009

copia backup com procmail



O procmail é muito versátil para processar e-mail e oferece ao sysadmin formas rápidas de resolver problemas sem ter que alterar nada no mta (neste caso postfix). As linhas que publico abaixo são resultados de algumas pesquisas de como fazer backup de e-mail (tanto de entrada quanto de saída). Existe um opção de backup no postfix chamada de always_bcc = arquivo que também é interessante para fazer backup porém, quando se usa limite do mailbox (mailbox-size_limit = 35000) para limitar o mailbox dos usuários, acabamos gerando um problema para o sistema que não conseguirá gravar o backup.

Então veja como resolver com o procmailrc:

Gravando o backup no home

Observe que neste exemplo, o backup é feito em uma pasta no home do usuário. Se o objetivo for fazer backup por segurança, este modelo não é o ideal uma vez que estará no mesmo disco do $HOME e além disso, se o sistema usar quota, cria-se um problema à ser administrado.


0: c
$HOME/backupmail


Gravando o backup em servidor nfs
Neste formato, o sistema vai gravar uma copia de cada mensagem recebida, porém em um formato difícil de localiar uma mensagem para restauração. Muito bom para autidoria.


:0 c
/mnt/nfs


Gravando o backup em arquivo anual

a forma mais aproriada, já que se trata de backup e portanto em casos de restauração algum sysadmin experiente deveria entrar em ação, seria a seguinte:



BACKUP=/mnt/nfs
ANO=`date +%Y`
:0 c
$BACKUP/$ANO

No exemplo acima, será criado um backup anual com todas as contas de e-mail, na partição separada (ou nfs). Perceba que também é possivel usar mais de um método para resolver o mesmo problema. A variável ANO, pode ser trocada de acordo com a conveniência, ou seja, hora, dia, mes.
O uso destes métodos também pode ser interessante quando a necessidade é explicitamente fazer uma copia de uma determinada origem para um destino. Por exemplo, seu diretor quer receber uma copia de toda mensagem originada na contabilidade com destino qualquer usuário de sua rede. A regra no procmail ficaria assim:



:0 c
* ^From.*@contabilidade.com.br
/var/mail/diretor



De momento é tudo, aprecio muito outras dicas ou comentários!

Fontes:
http://www.debian-administration.org/articles/242
http://www.procmail.org/