出于某种原因,logrotate每天都在旋转日志,而不是每周,尽pipelogrotate的所有configuration文件似乎都设置为每周。 有任何想法吗?
/etc/cron.daily/logrotate
#!/bin/sh test -x /usr/sbin/logrotate || exit 0 /usr/sbin/logrotate /etc/logrotate.conf
/etc/logrotate.conf中
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp, or btmp -- we'll rotate them here /var/log/wtmp { missingok monthly create 0664 root utmp rotate 1 } /var/log/btmp { missingok monthly create 0660 root utmp rotate 1 } # system-specific logs may be configured here
/etc/logrotate.d/apache
/var/log/apache2/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then /etc/init.d/apache2 reload > /dev/null fi endscript }
在/etc/logrorate.conf注意这行:
include /etc/logrotate.d
也许你有一些陈旧的或备份的文件躺在那个目录,包括在内,并指定每日轮换?
作为一种解决方法,如果您仍然无法解决问题,并且只想每周轮换文件,则可以通过cron更改执行logrotate的频率,从而将日志轮转的精度从每日到每周。