从logrotate的手册页中:
minsize size
日志文件的大小大于大小字节时(而不是在额外指定的时间间隔(每天,每周,每月或每年)之前),将轮换它们。相关的大小选项与时间间隔选项相互排斥,除了它与时间间隔选项互斥外,其他类似的选项都使日志文件轮换而不考虑最后的轮换时间。使用minsize时,将同时考虑日志文件的大小和时间戳。size size
日志文件大于大小字节时,将对其进行轮换。如果大小后跟k,则假定大小为千字节。如果使用M,则大小以兆字节为单位;如果使用G,则大小以千兆字节为单位。因此,大小100,大小100k,大小100M和大小100G均有效。
我将大小设置为5M,将间隔设置为每周一次,以为日志将每周轮换一次,如果日志的大小超过5M,则会发生其他轮换。但是发生的是,除非日志超过5M,否则日志不会旋转,这似乎是minsize应该做的。
我对手册的解释有误吗?如果日志超过500万,我如何使日志每周旋转一次?
编辑:
我不确定以下信息是否相关,只是为了补充:
我正在使用rsyslog对消息,安全,cron,maillog,引导进行主要日志记录。以下是倒数第二个日志的轮换日期和文件大小,其中如上所述设置了大小和间隔:
filename rotation date file size
messages 20130129 5.3MB
secure 20130113 5.1kB
cron 20130113 3.6kB
maillog 20130113 1.1kB
可以看出,只有消息轮换了。
编辑2:
我应该向我核对一下man logrotate
。他们实际上使用maxsize选项对其进行了升级。这应该是我在寻找的东西:
最大范围 的大小
,当他们长得比规模更大的日志文件旋转甚至还指定的时间间隔(每日,每周,每月或每年)之前字节。相关的大小选项与时间间隔选项相互排斥,除了它与时间间隔选项互斥外,其他类似的选项都使日志文件轮换而不考虑最后的轮换时间。使用maxsize时,将同时考虑日志文件的大小和时间戳。