linux下日誌管理工具--logrotate

##配置html

/usr/local/nginx/logs/*.log {
    daily   
    dateext 
    rotate 1
    olddir  /usr/local/nginx/other/logs
    missingok  
    notifempty 
    compress 
    sharedscripts 
    postrotate
        /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/null) 2>/dev/null ||:
    endscript
    
}
  • dateext:文件後綴是日期格式,也就是切割後文件是:xxx.log-20150529(.gz) 這樣,若是註釋掉,切割出來是按數字遞增,即前面說的 xxx.log-1(.gz)
  • monthly: 日誌文件將按月輪循。其它可用值爲‘daily’,‘weekly’或者‘yearly’。
  • rotate n: 一次將存儲n個歸檔日誌。對於第n=1個歸檔,時間最久的歸檔將被刪除。
  • compress: 在輪循任務完成後,已輪循的歸檔將使用gzip進行壓縮。相反的命令是nocompress
  • delaycompress: 老是與compress選項一塊兒用,delaycompress選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪循週期進行。
  • missingok: 在日誌輪循期間,任何錯誤將被忽略,例如「文件沒法找到」之類的錯誤。
  • notifempty: 若是日誌文件爲空,輪循不會進行。相反命令ifempty是缺省值
  • prerotate/endscript:在轉儲之前須要執行的命令能夠放入這個對,這兩個關鍵字必須單獨成行
  • postrotate/endscript:在轉儲之後須要執行的命令能夠放入這個對,這兩個關鍵字必須單獨成行
  • sharedscripts:全部的日誌文件都輪轉完畢後統一執行一次腳本
  • olddir 轉儲後的日誌文件放入指定的目錄,必須和當前日誌文件在同一個文件系統

##操做 路徑/etc/logrotate.conf爲默認的配置路徑,配置特定的日誌處理,通常放在/etc/logrotate.d/下。在logrotate.conf中 使用include path包含對應路徑linux

要調用爲/etc/lograte.d/下配置的全部日誌調用logrotatenginx

logrotate /etc/logrotate.conf

要爲某個特定的配置調用logrotate工具

logrotate /etc/logrotate.d/log-file

排障過程當中的最佳選擇是使用-d選項以預演方式運行logrotate。要進行驗證,不用實際輪循任何日誌文件,能夠模擬演練日誌輪循並顯示其輸出。post

logrotate -d /etc/logrotate.d/log-file

即便輪循條件沒有知足,咱們也能夠經過使用-f選項來強制logrotate輪循日誌文件,-v參數提供了詳細的輸出。日誌

logrotate -vf /etc/logrotate.d/log-file

參考文檔:code

logrotate manual Linux日誌文件總管——logrotate logrotate日誌管理工具htm

相關文章
相關標籤/搜索