以nginx為例
/var/log/nginx/*log { create 0644 nginx nginx daily rotate 10 missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true endscript }
配置參數
說明
monthly
日志文件將按月輪循。其它可用值為'daily','weekly'或者'yearly'。
rotate 5
一次將存儲5個歸檔日志。對於第六個歸檔,時間最久的歸檔將被刪除。
compress
在輪循任務完成后,已輪循的歸檔將使用gzip進行壓縮。
delaycompress
總是與compress選項一起用,delaycompress選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪循周期進行。這在你或任何軟件仍然需要讀取最新歸檔時很有用。
missingok
在日志輪循期間,任何錯誤將被忽略,例如“文件無法找到”之類的錯誤。
notifempty
如果日志文件為空,輪循不會進行。
create 644 root root
以指定的權限創建全新的日志文件,同時logrotate也會重命名原始日志文件。
postrotate/endscript
在所有其它指令完成后,postrotate和endscript里面指定的命令將被執行。在這種情況下,rsyslogd 進程將立即再次讀取其配置並繼續運行。