[Linux] logrotate 設定

  • 21519
  • 0
  • 2019-05-14

log 沒做rotate就會一直長大, 一個log file 12 GB有沒有看過?
打都打不開, 光用vim都會開很久.

這個時候我們需要做設定, 這邊說明一下.

CentOs log 檔案會長在 /var/log
Log rotate 設定檔在   /etc/logrotate.d/

下面會根據各個tool去分. httpd, jenkins, yum ... 等等

#分割設定:
#在/etc/logrotate.d/目錄下生成該tool檔案


/mnt/nginx/logs/*.log {     #注意:請以自己的tool為準
    daily                   #每天切割
    size=100M               #每100M做一次rotation,如果 weekly 與 size 這兩個設定都有加,表示如果檔案不到100M便不會生成rotation
    dateext                 #%Y%m%d作為字尾
    missingok               #日誌不存在,分析下一個
    rotate 20               #保留最近的20個備份
    compress                #切換之後壓縮.tar.gz
    notifempty              #空檔案不轉儲
    create 640 root root    #新日誌檔案模式 root 是使用的使用者
    sharedscripts           #整個日誌組執行一次的指令碼
    postrotate
    endscript
}

設定完成後在執行logrotate吃一下設定.

$ sudo /usr/sbin/logrotate -v /etc/logrotate.conf

Done.