配置linux的日志轮转,配置如下,如果没有加/sbin/service rsyslog restart,则轮转只产生旧日志的轮转日志,如mclog-20150612,而不产生新的空白日志mclog。下一次轮转时因找不到mclog而导致脚本无法执行,导致不能继续轮转。
这显然是不正常的,如果必须要通过在重启日志管理服务来生成新的空白日志的话。请大神指出我的错误!
/etc/rsyslog下配置:
mail.*,cron.* /var/log/mclog
/etc/logrotate.d/mclog下配置:
/var/log/mclog
{
weekly
minsize 10M
rotate 3
dateext
#sharedscripts
#prerotate
#/sbin/service rsyslog reload
#/bin/chown root /var/log/mclog
#/bin/chgrp nobody /var/log/mclog
#/bin/chmod 0640 /var/log/mclog
#endscript
sharedscripts
postrotate
#/sbin/service rsyslog restart #区别是这句
/bin/chown root /var/log/mclog
/bin/chmod 0640 /var/log/mclog
endscript
}
结果:
1. 脚本有重启服务语句时,执行logrotate -f命令前后:
2.脚本没有重启服务语句,执行logrotate -f命令前后::