我的服务器因为庞大的系统日志文件而转储。我听说我们可以通过size 100m
在文件/etc/logrotate.d/rsyslog
中添加这样一行来限制系统日志的大小。
现在我的/etc/logrotate.d/rsyslog
变成如下:
/var/log/syslog
{
rotate 7
daily
size 100m
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
我的问题是:如何size 100m
使用rotate 7
?
没有size 100m
,rotate 7
和daily
一起意味着系统日志将每天轮换,并将保留 7 天的积压工作。现在如果我添加size 100m
并且一些每日日志大于100m
,它会立即轮换吗?如果是这样,是否意味着如果某些每日日志增长太多(超过700mb
),我可能会在一天内获得 7 个积压?
我希望您意识到您使用该
logrotate
机制并不能控制 syslog 文件的大小,它只会在每天运行 logrotate 时,获取当前/var/log/syslog
文件,如果超过 100MBytes,则压缩并保存结果。然后创建一个新/var/log/syslog
文件,该文件从该点开始接收消息。