Log-Files

Apache 每日 logrotate

  • October 11, 2021

我想創建每日日誌,但有一個小問題。不是每天都創建日誌,而是包含以前的日誌文件。這是我目前的設置,我該如何更改它以便它只為每天創建一個日誌文件?

我編輯以下文件:/etc/logrotate.d/httpd

我正在使用一個名為 Zadmin 的控制面板,因此我將其日誌路徑作為第二個目錄包含在內。

我正在使用 CentOS 6.5 64 位。

/var/log/httpd/*log /var/sentora/logs/domains/zadmin/*.log {
   missingok
   rotate 4000000
   daily
   notifempty
   sharedscripts
   postrotate
   /sbin/service httpd reload > /dev/null 2>/dev/null || true
   endscript
}

按照布賴恩的回答,我是 cronolog 的忠實粉絲,它幾乎完全符合您的要求:

CustomLog "|/usr/sbin/cronolog /var/log/httpd/%Y/%m/%Y-%m-%d-access.log" combined
ErrorLog "|/usr/sbin/cronolog /var/log/httpd/%Y/%m/%Y-%m-%d-error.log"

yum install cronolog會給你 Cent6 上的 cronolog。

Apache 允許您將日誌文件通過管道傳輸到另一個程序,該程序可以處理輪換,而無需重新載入/重新啟動 Apache。Apache 甚至提供了一個程序來做到這一點。

ErrorLog "|bin/rotatelogs -l -f /var/log/apache2/errlogfile.%Y.%m.%d.log 86400" common
CustomLog "|bin/rotatelogs -l -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

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