移動apache訪問日誌後如何當即生效

一次偶然測試發現移動了apache下的access_log日誌後或者修改了access_log的名稱,該移動的日誌或修更名稱的日誌文件仍記錄了apache訪問信息,即沒有實時生效,後來查了資料才知道:移動或者刪除日誌文件之後,必須從新啓動服務器才能讓它打開新的日誌文件。apache

 

即便一個並不繁忙的服務器,其日誌文件的信息量也會很大,通常每10000個請求,訪問日誌就會增長1MB或更多。這就有必要按期滾動日誌文件。因爲Apache會保持日誌文件的打開,並持續寫入信息,所以服務器運行期間不能執行滾動操做。移動或者刪除日誌文件之後,必須從新啓動服務器才能讓它打開新的日誌文件。服務器

用優雅的(graceful)方法從新啓動,能夠使服務器啓用新的日誌文件,而不丟失原來還沒有寫入的信息。爲此,有必要等待一段時間,讓服務器完成正在處理的請求,並將記錄寫入到原來的日誌文件。如下是一個典型的日誌滾動和爲節省存儲空間而壓縮舊日誌的例子:測試

mv access_log access_log.old
mv error_log error_log.old
apachectl graceful
sleep 600
gzip access_log.old error_log.old 日誌

相關文章
相關標籤/搜索