我的服务器因为系统日志文件太大而转储。我听说我们可以通过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
我一天可能会有 7 个积压?700mb
答案1
我希望您意识到,您使用的logrotate
机制并不能控制系统日志文件的大小,它只会在每天运行 logrotate 时获取当前文件/var/log/syslog
,如果文件大小超过 100MB,则压缩并保存结果。/var/log/syslog
然后会创建一个新文件,该文件从此时起开始接收消息。