限制 Apache日誌檔案大小的方法

零三鄧何芯桃379發表於2019-06-01

access.log,件在 WEB 伺服器執行一段時間之後會達到幾十兆甚至上百兆,如果Apache執行有錯誤,error.log也會增大到幾十兆,我們知道系統讀寫一個大的文字檔案是非常耗記憶體的,因此限定日誌檔案大小十分必要。  通常我們是在{$apache}/conf/httpd.conf中設定Apache的引數,然而我們並沒有發現可以設定日誌檔案大小的配置指令,透過參考,寶起名寶典可以用apache 自己的程式 rotatelogs.exe(位於 {$apache}/bin/目錄下),來限制日誌檔案的大小。 
Usage: rotatelogs [-l] [offset minutes from UTC] or 
Add this: 
TransferLog "|rotatelogs /some/where 86400" 
or 
TransferLog "|rotatelogs /some/where 5M" 
to httpd.conf. The generated name will be /some/where.nnnn where nnnn is the system time at which the log nominally starts (N.B. if using a rotation time, the time will always be a multiple of the rotation time, so you can synchronizecron scripts with it). At the end of each rotation time or when the file size is reached a new log is started. 
在 Windows 下的設定例子如下: 
# 限制錯誤日誌檔案為 1M 
ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M" 
# 每天生成一個錯誤日誌檔案 
#ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400" 
# 限制訪問日誌檔案為 1M 
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M" common 
# 每天生成一個訪問日誌檔案 
#CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common 
linux/Unix下 應該類似。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69918221/viewspace-2646449/,如需轉載,請註明出處,否則將追究法律責任。

相關文章