我有以下配置/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 字节。