Назад | Перейти на главную страницу

Вращение журналов Iptables с помощью logrotate

Я запускаю CentOS6, и я настроил rsyslog, чтобы отслеживать предупреждающие сообщения iptables и выгружать их в /var/log/iptables.log. Я прошел через logrotate.d/syslog файл и добавил iptables.log поэтому logrotate подбирает и вращает журналы. Файл выглядит так:

/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
}

Однако когда я бегу logrotate -f -v logrotate.conf для запуска принудительной проверки файл iptables.log не запускается. Чтобы logrotate не отображался в файле iptables, я создал iptables.log-20121014 файл.

Мои результаты, когда я запускаю команду, выглядят так:

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

Я в замешательстве. Как мне заставить logrotate свернуть файл? Я не уверен на 100%, правильно ли я его настроил, но я не знаю достаточно, чтобы быть уверенным, что это так.

Я считаю, что более эффективным решением было бы фактически создать конкретный экземпляр logrotate для iptables вместо того, чтобы добавлять его непосредственно в ваш экземпляр syslog logrotate.

Сделайте это:

$ touch /etc/logrotate.d/iptables

Теперь настройте логротацию, как хотите, пример будет следующим (вы можете найти все параметры ЗДЕСЬ (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
}

Это должно обеспечить функциональность, которую вы ищете.