天天看點

使用logrotate實作日志輪訓壓縮

<a href="https://s3.51cto.com/wyfs02/M00/95/D7/wKiom1kadajBemsUAAEuvd7BG2U676.jpg" target="_blank"></a>

cat /etc/logrotate.d/nginx 

/opt/lamp/apache/logs/*.log {

su root root

daily

        rotate 14

        copytruncate

        compress

        notifempty

        missingok

        dateext

        postrotate

                 /usr/bin/killall -USR1 /opt/openresty/nginx/sbin/nginx

        endscript

}

配置選項說明

compress:通過gzip 壓縮轉儲舊的日志

nocompress:不需要壓縮時,用這個參數

copytruncate:用于還在打開中的日志檔案,把目前日志備份并截斷

nocopytruncate:備份日志檔案但是不截斷

create mode owner group:使用指定的檔案模式建立新的日志檔案

nocreate:不建立新的日志檔案

delaycompress:和 compress 一起使用時,轉儲的日志檔案到下一次轉儲時才壓縮

nodelaycompress:覆寫 delaycompress 選項,轉儲同時壓縮。

errors address:專儲時的錯誤資訊發送到指定的Email 位址

ifempty:即使是空檔案也轉儲,這個是 logrotate 的預設選項。

notifempty:如果是空檔案的話,不轉儲

mail address:把轉儲的日志檔案發送到指定的E-mail 位址

nomail:轉儲時不發送日志檔案

olddir directory:轉儲後的日志檔案放入指定的目錄,必須和目前日志檔案在同一個檔案系統

noolddir:轉儲後的日志檔案和目前日志檔案放在同一個目錄下

prerotate/endscript:在轉儲以前需要執行的指令可以放入這個對,這兩個關鍵字必須單獨成行

postrotate/endscript:在轉儲以後需要執行的指令可以放入這個對,這兩個關鍵字必須單獨成行

sharedscripts:所有的日志檔案都輪轉完畢後統一執行一次腳本

daily:指定轉儲周期為每天

weekly:指定轉儲周期為每周

monthly:指定轉儲周期為每月

rotate count:指定日志檔案删除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份

size size:當日志檔案到達指定的大小時才轉儲,Size 可以指定 bytes (預設)以及KB (sizek)或者MB

本文轉自silence部落格51CTO部落格,原文連結http://blog.51cto.com/silencezone/1926144如需轉載請自行聯系原作者

a120518129

繼續閱讀