Log-Files

使用 rsyslogd 手動旋轉日誌文件

  • May 9, 2016

我想使用 強制日誌文件輪換logrotate -f /var/log/syslog,但它只是返回音調:

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

我知道在這個系統上 rsyslogd 正在執行。如何旋轉/var/log/syslog?我想要它是空的。

您不會logrotate在命令行上告訴要輪換哪個文件。你傳給它一個配置文件。因此,在您的情況下,logrotate正在讀取/var/log/syslog並嘗試將其解析為配置文件並失敗(因此出現錯誤)。

如果你想旋轉/var/log/syslog它需要在某個logrotate配置文件中列出,你只需執行logrotate. 如果它最近旋轉,然後logrotate -f強制它再做一次。

/var/log/syslog這是來自 Debian的範例條目,

/var/log/syslog
{
       rotate 7
       daily
       missingok
       notifempty
       delaycompress
       compress
       postrotate
               invoke-rc.d rsyslog reload > /dev/null
       endscript
}

所以,你需要在一個文件中,通常/etc/logrotate.conf或者作為一個文件片段來/etc/logrotate.d假設你的/etc/logrotate.conf觀點,然後你只需執行logrotate /etc/logrotate.conf.

由於您正在執行 Debian,這可能已經全部到位,您實際需要做的就是執行logrotate -f /etc/logrotate.conf(注意,這將輪換目前在 logrotate 中配置的每個日誌)。

如果您真的只想旋轉/var/log/syslog,則需要根據/etc/logrotate.conf+的內容創建一個僅執行該日誌的配置文件/etc/logrotate.d/rsyslog

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