疑惑一:只编写完轮转文件后如果日志超过设置的日期会进行轮转么?
答:自己不会自动执行。------ 需要执行logrotate 命令。
例如:logrotate /etc/logrotate.d/ 就可以执行/etc/logrotate.d/文件中的规则。logrotate命令相当于执行者。
疑惑二:使用计划任务中的循环调度后就可执行轮转了么?(假如计划任务是每周一的凌晨三点进行轮,轮转文件是monthly,maxsize=10M -------转在没有强制的情况下)
答:先按计划任务的时间每周一的凌晨三点进行执行轮转,在这个前提下根据日志轮转配置。
例子1:日志超过了10M。
日志条件溢出则跳出时间限制进行轮转。并且按照计划任务的时间也就是每周的凌晨三点进行轮转,因为计划任务就是执行者,一切听执行者时间优先度大于日志配置时间。
例子2:日志小于10M并任务是再一月后进行发布的。
由于日志文件小于10M,但时间大于一个月故进行轮转一次。如果时间没到并且不足10M不进行轮转。
##配置日志轮转
vim /etc/logrotate.conf
##
/var/log/wtmp {
monthly ##每月轮转一次
create ##轮转后创建新文件
minsize 10M ##最大为10M否则进行轮转
dateext ##使用日期作为后缀
rotate 4 ##保留4份
}
##创建并编写计划任务
crontab -e
##每周一凌晨三点执行
00 03 * * 1 /user/bin/logrotate /etc/logrotate.conf