Log-Files
使用 rsyslogd 手動旋轉日誌文件
我想使用 強制日誌文件輪換
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
。