利用logrotate按期生成日誌,而且按期刪除,適用於系統上面全部的日誌

詳細介紹 http://blog.csdn.net/hepeng597/article/details/7768615  linux

參考 http://www.linuxidc.com/Linux/2011-04/34116.htmnginx

1  好比 咱們要切割nginx的日誌,首先咱們進入/etc/logrotate.d/這個目錄下,而後創建nginx這個文件ide

vi  nginxpost

/data/wwwlogs/*nginx.log {       ##日誌所在的目錄
daily
rotate 5
missingok
dateext
compress
notifempty
sharedscripts
postrotate
    [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}


參數說明:測試

monthly 指定轉儲週期爲每個月spa

daily 指定轉儲週期爲天天.net

weekly 指定轉儲週期爲每週rest

rotate count 指定日誌文件刪除以前轉儲的次數,0 指沒有備份,5 指保留5 個備份 (這裏指保留5天的備份)日誌

compress 經過gzip 壓縮轉儲之後的日誌orm

copytruncate  在複製當前日誌文件後,將日誌文件清空;而不是將當前日誌文件更名後建立一個新的

notifempty 若是是空文件的話,不轉儲

dateext  切換後的日誌文件會附加上一個短橫線和YYYYMMDD格式的日期.

  [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
這個參數是爲了讓nginx從新生成日誌的

2.重啓syslogd服務


service rsyslog restart



3 測試 

#強制執行某個日誌的切換,nginx是在/etc/logrotate.d下文件的文件名

logrotate -f /etc/logrotate.d/nginx

#若是在存放日誌的目錄下發現了切換的日誌文件,則說明切換成功

相關文章
相關標籤/搜索