Centos

使用 logrotate 旋轉 Iptables 日誌

  • July 19, 2014

我正在執行 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
}

這應該提供您正在搜尋的功能。

引用自:https://serverfault.com/questions/441002