我的/etc/logrotate.d/rsyslog
文件有以下配置。在其中,我明确声明它将轮换的天数为 4,轮换存档文件的大小为 100k,用于/var/log/syslog
.
我想知道的是当档案达到 100k 时,它应该自行旋转。如果需要,它是否在一天内总共旋转 4 次?如果它需要旋转 4 次,因为它连续达到 100k,它会这样做并且只保存 4 个文件?也许我无法完全解释我的问题,但我正在寻找的目标是一旦旋转的存档文件达到 100k,它应该自行旋转,并且旋转的总数不应该通过 4 个文件所以,如果它需要 8一个小时内的轮换,应该只有最后 4 个轮换的档案。I do see a daily configuration, not sure if that is complemented with the rotate configuration?
如果我需要设置存档文件的最大数量,而日轮换配置没有这样做,我需要做什么?
/var/log/syslog
{
rotate 4
size 100k
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate >/dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/rsyslog.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate >/dev/null
endscript
}
我也有这个syslog configuration
将系统日志文件大小限制为 1MB。因此,当 syslog 达到 1MB 时,它应该自行旋转(尚未测试)
auth,authpriv.* -/var/log/auth.log
$outchannel mysyslog,/var/log/syslog,1048576
*.*;auth,authpriv.none :omfile:$mysyslog
当文件达到“大小 100k”时,logrotate 不会触发轮换它通过计划检查运行。
解释配置的第一部分如何工作。每天检查 /var/log/syslog,如果大于 100k 则旋转它,如果有 4 个副本最早删除。
您可以在配置文件中将每天更改为每小时。然后, cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate 如果它不存在的话。