2011-12-05 154 views
0

我有Ubuntu 10.04.1運行LAMP。我有Apache的日誌記錄設置,以及日誌旋轉。Apache在日誌旋轉時停止日誌記錄

Apache啓動時,它會正確記錄所有內容(訪問,錯誤,other_vhosts_access和ssl_access)。但是,當日志旋轉時,它會停止日誌記錄。

我不知道該從哪裏出發。幫幫我!

# logrotate.conf (removing comments): 
daily 
rotate 4 
compress 
compresscmd /bin/bzip2 
compressext .bz2 
include /etc/logrotate.d 
/var/log/wtmp { 
    missingok 
    monthly 
    create 0664 root utmp 
    rotate 1 
} 
/var/log/btmp { 
    missingok 
    monthly 
    create 0660 root utmp 
    rotate 1 
} 

##logrotate.d/apache2 (removing comments): 
/var/log/apache2/*.log { 
dateext 
create 640 root adm 
sharedscripts 
daily 
compress 
compresscmd /bin/bzip2 
compressoptions -k 
postrotate 
    echo "-- `date` --" >> move_log.txt 
    mv <path>/access.log-*.bz2 <path> 
    mv <path>/ssl_access.log-*.bz2 <path> 
endscript 
} 

回答

1

您必須在移除其日誌文件後重新啓動Apache。這將迫使它關閉它在舊日誌文件上的文件句柄,並打開新的句柄(並創建新的日誌文件)。一個簡單的service apache reload應該這樣做(基本歸結爲kill -HUP)。

爲了安全起見,您應該移動日誌文件,然後重新啓動apache,然後壓縮舊的文件。這將防止Apache在後處理舊日誌文件時附加到舊日誌文件。