linux 日志大小,Centos / Linux将logrotate设置为所有日志的最大文件大小

正如我所说的Zeeshan,logrotate选项size , minsize , maxsize是minsize的触发器。

为了更好地解释它。 您可以随心所欲地运行logrotate,但除非达到阈值,例如正在达到的文件大小或适当的时间,否则日志将不会被旋转。

大小选项不能确保您的旋转日志也是指定的大小。 为了使它们接近指定的大小,你需要经常调用logrotate程序。 这是至关重要的。

对于建立速度非常快的日志文件(例如每天数百MB),除非您希望它们非常大,否则您需要确保经常调用logrotate! 这是至关重要的。

因此,要停止使用多千兆字节日志文件填充磁盘,您需要确保足够频繁地调用logrotate,否则日志轮换将无法正常工作。

在Ubuntu上,您可以通过将脚本/etc/cron.daily/logrotate移动到/etc/cron.hourly/logrotate轻松切换到小时轮换

或添加

*/5 * * * * /etc/cron.daily/logrotate

到你的/ etc / crontab文件。 每5分钟运行一次。

size选项忽略每日,每周,每月的时间选项。 但最小化和最大化考虑到它。

手册页有点混乱。 这是我的解释。

只有当文件达到适当的大小并且已经过了设定的时间时, minsize旋转。 例如,每天增大50MB +如果在每天的时间点击之前文件达到50MB,它会一直增长到第二天。

当日志达到设定的大小或适当的时间已过,最大大小将会旋转。 例如每天最多50MB +。 如果文件是50MB,我们还没有在第二天,日志将被旋转。 如果该文件只有20MB,我们将滚动到第二天,然后文件将被旋转。

当日志>大小时, size会旋转。 无论是否指定小时/每日/每周/每月。 所以如果你有100M的大小 – 这意味着当你的日志文件大于100M时,如果logrotate在这个条件为真时运行,日志将被旋转。 一旦它被旋转,主日志将是0,随后的运行将什么也不做。

所以在op的情况下。 特别是50MB最多我会使用类似于以下内容:

/var/log/logpath/*.log { maxsize 50M hourly missingok rotate 8 compress notifempty nocreate }

这意味着他会创造最多8小时的日志。 而且每个不会超过50MB,其中有8个。 由于他说他每天获得几千兆字节的数据,并假设他们以相当恒定的速度建立,并且使用了最大化,他将以接近每个文件达到的最大值为结束。 所以他们每个人可能接近50MB。 鉴于他们建立的数量,他将需要确保logrotate运行足够经常足以达到目标的大小。

由于我在那里每小时投入一次,所以我们需要每小时至少运行一次logrotate。 但是,由于他们建立每天2千兆字节,我们想要50MB …假设每小时83MB的恒定速率。 所以你可以想象,如果我们每小时运行一次logrotate,尽管将maxsize设置为50,那么在这种情况下,我们最终会得到83MB的日志。 所以在这种情况下设置运行到每30分钟或更少就足够了。

确保logrotate每30分钟运行一次。

*/30 * * * * /etc/cron.daily/logrotate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值