nginx的日志輪轉:
[root@192 ~]# rpm -ql nginx |grep log
/etc/logrotate.d/nginx
/var/log/nginx
[root@192 ~]# vim /etc/logrotate.d/nginx
/var/log/nginx/*.log { #指定需要輪轉處理的日志文件
daily #日志文件輪轉周期,可用值為: daily/weekly/yearly
missingok# 忽略錯誤信息
rotate 7 # 輪轉次數,即最多存儲7個歸檔日志,會刪除最久的歸檔日志
minsize 5M #限制條件,大於5M的日志文件才進行分割,否則不操作
dateext # 以當前日期作為命名格式
compress # 輪循結束后,已歸檔日志使用gzip進行壓縮
delaycompress # 與compress共用,最近的一次歸檔不要壓縮
notifempty # 日志文件為空,輪循不會繼續執行
create 640 nginx nginx #新日志文件的權限
sharedscripts #有多個日志需要輪詢時,只執行一次腳本 postrotate # 將日志文件轉儲后執行的命令。以endscript結尾,命令需要單獨成行
if [ -f /var/run/nginx.pid ]; then #判斷nginx的PID。# 默認logrotate會以 root身份運行
kill -USR1 cat /var/run/nginx.pid
fi
endscript
}
執行命令: [root@192 nginx]# /usr/sbin/logrotate -f /etc/logrotate.conf
創建計划任務: [root@192 nginx]# crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf
