logrotate切割日誌

2019-06-28 23:34:00
CJL
原創
3170

大部分linux繫統自帶logrotate

可以通過logrotate來自動進行日誌切割

添加配置文件在/etc/logrotate.d

/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

在所有其牠指令完成後,postrotateendscript裡麵指定的命令將被執行。在這種情況下,rsyslogd 進程將立卽再次讀取其配置併繼續運行。

具體配置項蔘考:man logrotate



發錶評論
評論通過審核後顯示。
流量統計