logrotate 不工作。此配置正确吗?

logrotate 不工作。此配置正确吗?
/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.logmywebsite.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 会准确地告诉您它配置为执行的操作,而无需实际执行。

相关内容