Rsyslog

文件大小達到某個門檻值時不執行輪換

  • July 28, 2021

我有以下配置/etc/logrotate.d/rsyslog

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

據我了解,我已經設置了它,所以如果/var/log/syslog達到1G大小,它會自行旋轉。此外,系統將保持 7 次旋轉。

在測試中,我這樣做了:

cat /dev/null > /var/log/syslog
base64 /dev/urandom | head -c 999999999 > /var/log/syslog
logger -s "hello"

然後我這樣做了:

ls -las /var/log/syslog*
976568 -rw-r----- 1 syslog adm 1000000072 Jul 28 19:11 /var/log/syslog

它顯示文件大小,因為1.000000728 GB它不應該自己旋轉?

應用配置時,我做了systemctl restart rsyslog

Logrotate 使用傳統單位而不是 SI 單位來表示 K、M、G 等。這意味著從字面上引用原始碼:1024 * 1024 * 1024或 1073741824 字節。

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