/var/log/apache2/*.log {
daily
missingok
rotate 31
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
}
/home/admin/public_html/mywebsite.com/log/*.log {
daily
missingok
rotate 31
compress
delaycompress
missingok
# 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
}
这是文件的确切内容apache2
,减去虚假域名)。
当我两天后再次登录服务器时access.log
,mywebsite.com/log
仍然有多个演出。
这可能只是一个chmod
问题吗?(我在问题中保留了注释掉的行,以防万一它们可能是问题所在。
答案1
尝试合并两个文件列表。
/var/log/apache2/*.log /home/admin/public_html/mywebsite.com/log/*.log{
daily
missingok
rotate 31
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
}
答案2
logrotate 有一个非常有用的手册页。例如,您可以在试运行模式下运行它,logrotate 会准确地告诉您它配置为执行的操作,而无需实际执行。