Rotating logs do Iptables com logrotate

1

Estou rodando o CentOS6 e configurei o rsyslog para monitorar minhas mensagens de aviso do iptables e copiá-las em /var/log/iptables.log . Eu passei pelo meu arquivo logrotate.d/syslog e adicionei iptables.log , então o logrotate iria pegar e girar os logs. O arquivo é assim:

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/iptables.log
{
    sharedscripts
    postrotate
        /bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true
    endscript
}

No entanto, quando executo logrotate -f -v logrotate.conf para disparar um teste de força, o arquivo iptables.log não é reproduzido. Para fazer o logrotate não vomitar no arquivo iptables, criei um arquivo iptables.log-20121014 .

Minha saída quando eu executo o comando é assim:

rotating log /var/log/iptables.log, log->rotateCount is 4
dateext suffix '-20121021'

Estou desconcertado. Como faço para logrotate para rolar o arquivo? Não tenho 100% de certeza se o configurei corretamente, mas não sei o suficiente para ter certeza se é esse o caso.

    
por FloppyDisk 22.10.2012 / 17:33

1 resposta

3

Acredito que uma solução mais eficaz seria realmente criar uma instância específica de logrotate para o iptables em vez de adicioná-lo diretamente à sua instância syslog logrotate.

Faça isso por:

$ touch /etc/logrotate.d/iptables

Agora, configure o logrotation como você gostaria, um exemplo seria o seguinte (Você pode encontrar todas as opções AQUI (logrotate. conf) :

$ vi iptables
/var/log/iptables.log {
missingok
notifempty
size 30k
create 0600 root root
postrotate
    /etc/rc.d/init.d/rsyslog restart ; sleep 5
endscript
}

Isso deve fornecer a funcionalidade que você está pesquisando.

    
por 22.10.2012 / 19:14