隨著網站的運行時間越來越長,日誌文件也會隨之越來越大需要對Nginx日誌進行切割,下麵是每周六晚上自動進行日誌切割的shell腳本 腳本如下: [root@jrjs ~]# vim /usr/local/nginx/logbak.sh #新建腳本名為logbak.sh#!/bin/bash #解釋器 ...
隨著網站的運行時間越來越長,日誌文件也會隨之越來越大
需要對Nginx日誌進行切割,下麵是每周六晚上自動進行日誌切割的shell腳本
腳本如下:
[root@jrjs ~]# vim /usr/local/nginx/logbak.sh #新建腳本名為logbak.sh
#!/bin/bash #解釋器
date=`date +%Y%m%d` #自定義date變數,值等於當前日期
logpath=/usr/local/nginx/logs #自定義logpath變數,值等於Nginx日誌所在路徑
mv $logpath/access.log $logpath/access-$date.log #把當前access日誌重命名
mv $logpath/error.log $logpath/error-$date.log #把當前error日誌重命名
kill -USR1 $(cat $logpath/nginx.pid) #向nginx主進程發送USR1信號,重新打開生成日誌文件,如不發送USR1,Nginx將會繼續寫入改名之後的日誌
接下來把寫好的腳本寫入計劃任務,自動執行。
[root@jrjs ~]# crontab -e #打開計劃任務表
01 02 * * 6 /usr/local/nginx/logbak.sh #每周六凌晨2:01運行腳本進行日誌切割