Centos
使用 logrotate 旋轉 Iptables 日誌
我正在執行 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 文件不會滾動。為了使 iptables 文件上的 logrotate 不是 barf,我創建了一個iptables.log-20121014
文件。我執行命令時的輸出如下所示:
rotating log /var/log/iptables.log, log->rotateCount is 4 dateext suffix '-20121021'
我很困惑。如何讓 logrotate 滾動文件?我不是 100% 確定我是否正確配置了它,但我不知道是否正確。
我相信更有效的解決方案是為 iptables 實際創建一個特定的 logrotate 實例,而不是將其直接添加到您的 syslog logrotate 實例中。
通過以下方式執行此操作:
$ touch /etc/logrotate.d/iptables
現在,根據需要配置 logrotation,範例如下(您可以在此處找到所有選項(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 }
這應該提供您正在搜尋的功能。