Nginx日志切割工具——logrotate 使用記錄


1、安裝

logrotate是Linux系統自帶,無需安裝

2、配置

進入【/etc/logrotate.d/nginx】文件修改配置

# 需要備份的日志路勁,一個或多個都可以
/data/logs/nginx1/*.log
/data/logs/nginx2/*.log
{
  daily
  rotate 5
  missingok
  dateext
  compress
  notifempty
  sharedscripts
  postrotate
    [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
  endscript
}

3、測試

logrotate -vf /etc/logrotate.d/nginx 

執行以上命令,是否得到自己預期效果

4、執行

0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/nginx

將上面這段添加到crontab里面,讓他每天定時執行

5、參數含義

配置 說明
daily 指定轉儲周期為每天
weekly 指定轉儲周期為每周
monthly 指定轉儲周期為每月
rotate 轉儲次數,超過將會刪除最老的那一個
missingok 忽略錯誤,如“日志文件無法找到”的錯誤提示
dateext 切換后的日志文件會附加上一個短橫線和YYYYMMDD格式的日期
compress 通過gzip 壓縮轉儲舊的日志
delaycompress 當前轉儲的日志文件到下一次轉儲時才壓縮
notifempty 如果日志文件為空,不執行切割
sharedscripts 只為整個日志組運行一次的腳本
prerotate/endscript 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
postrotate/endscript 在轉儲以后需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM