Rsyslog
文件大小達到某個門檻值時不執行輪換
我有以下配置
/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 字節。