Rotating Mail Logs no servidor Debian

2

Mail Logs nos sistemas Debian não usam os scripts regulares /etc/logrotate.d para rotacioná-los.

Eu quero forçar meus logs de e-mail a rodarem diariamente (não importa quão pequenos sejam) e compactar os resultados, para que a numeração dos arquivos de log corresponda à dos meus outros servidores de e-mail (mais ocupados). Essencialmente, quero acabar com:

mail.log mail.log.0 mail.log.1.gz mail.log.2.gz ... mail.log.6.gz

Alguém pode me dizer como fazer isso?

    
por Brent 12.05.2009 / 17:37

1 resposta

8
Estou supondo que, no momento, você tenha a instalação da pasta sysklogd e que seus arquivos de log sejam rotacionados com o script padrão /etc/cron.weekly/sysklogd.

Eu sugiro que você edite o script /etc/cron.weekly/sysklogd e modifique:

logs=$(syslogd-listfiles --weekly)

para:

logs=$(syslogd-listfiles --weekly -s mail\*)

Isso impedirá que os scripts padrão manipulem os registros de e-mail.

Edite /etc/logrotate.d/sendmail e adicione entradas para os arquivos apropriados. Você provavelmente quer algo como:

/var/log/mail.log /var/log/mail.info /var/log/mail.warn /var/log/mail.err {
        rotate 7
        daily
        compress
        delaycompress
        missingok
        create 640 root adm
        sharedscripts
        postrotate
           /etc/init.d/sysklogd reload
        endscript
}

Para verificar sua configuração, execute:

logrotate -d /etc/logrotate.conf

E verifique se o logrotate está fazendo o que você quer.

    
por 12.05.2009 / 18:00