Log-Files
Apache 每日 logrotate
我想創建每日日誌,但有一個小問題。不是每天都創建日誌,而是包含以前的日誌文件。這是我目前的設置,我該如何更改它以便它只為每天創建一個日誌文件?
我編輯以下文件:
/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