2012-07-11 62 views
16

Apache的access_log文件每隔幾天循環轉換爲大約1GB的存檔副本。在哪裏設置來控制這個?我希望能夠控制最大尺寸和它保留的歸檔日誌的數量。這是apache配置的一部分,還是我需要編寫cron作業(et al)來處理這個問題?我正在運行預分支httpd。我該如何限制Apache的access_log的大小,並限制它保留的歸檔日誌的數量?

+0

你的服務器使用什麼操作系統? – Dogweather 2012-07-11 18:37:34

回答

18

在大多數Linux發行版,系統設置爲每天運行logrotate的。你不會在root用戶或任何特定用戶的crontab中看到它。

很容易改變它如何處理日誌文件。在我的Ubuntu的服務器上,/etc/logrotate.conf文件具有設置這樣的:

# rotate log files weekly 
weekly 

# keep 4 weeks worth of backlogs 
rotate 4 

# create new (empty) log files after rotating old ones 
create 

# uncomment this if you want your log files compressed 
#compress 

[等]

而且,你可以看看在目錄/etc/logrotate.d/查看特定目錄和應用程序設置。

+0

我應該尋找哪些文件來編輯服務器上虛擬域的日誌設置?這是'logrotate.d/apache2'嗎? – 2017-11-20 09:59:29

0

慣用的方法是從一個cronjob,可切片,切塊,壓縮,重命名,保存最近n和大多數其他的事情之一可能要運行logrotate。 (我想大多數發行這些天在默認情況下安裝。)

+0

是什麼導致它現在旋出到一個存檔的副本?我沒有任何cron作業集。我偶爾會重啓httpd。這是否做到了? – 2012-07-11 17:51:16

3

我會使用rotatelogs,一個位於apache bin目錄中的工具。

有關更多信息和示例,請參閱http://httpd.apache.org/docs/current/programs/rotatelogs.html。它具有存在於我的HP-UX系統上的優勢。

或者如前所述,您可以使用大多數發行版附帶的logrotate工具。