Apache-2.2

logrotate 不工作。這個配置正確嗎?

  • February 5, 2011
/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文件的確切內容,減去假域名)。

當我在 2 天后重新登錄伺服器access.logmywebsite.com/log,仍然是多個演出。

這可能只是一個chmod問題嗎?(我在問題中留下了註釋掉的行,以防萬一它們成為問題。

嘗試合併兩個文件列表。

/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

}

logrotate 有一個非常有用的手冊頁。例如,您可以在空執行模式下執行它,然後 logrotate 會告訴您它被配置為做什麼,而無需實際執行。

引用自:https://serverfault.com/questions/231259