我正在运行CentOS6,并configuration了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 ,我创build了一个iptables.log-20121014文件。
我运行命令时的输出如下所示:
rotating log /var/log/iptables.log, log->rotateCount is 4 dateext suffix '-20121021'
我正在失望。 我如何获得logrotate滚动文件? 我不是100%确定,如果我configuration正确,但我不知道足以确定如果是这样的话。
我相信一个更有效的解决scheme是为iptables实际创build一个特定的logrotate实例,而不是直接将其添加到您的syslog logrotate实例。
做到这一点:
$ touch /etc/logrotate.d/iptables
现在,根据需要configurationlogrotation,一个例子如下(你可以在这里find所有的选项(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 }
这应该提供您正在寻找的function。