五、nginx日誌分割
阿新 • • 發佈:2018-12-11
nginx執行時會產生大量的日誌,為了方便查詢日誌,所以有是時候需要將日誌檔案進行分割
第一步、在nginx安裝目錄下的logs/目錄新建並編輯檔案:vi nginxLogRotate.sh
#!/bin/bash
#設定日誌檔案存放目錄
LOG_HOME="/usr/local/nginx/logs/"
#備分檔名稱
LOG_PATH_BAK="$(date -d yesterday +%Y%m%d%H%M)"
#重新命名日誌檔案
mv ${LOG_HOME}/access.log ${LOG_HOME}/access.${LOG_PATH_BAK}.log
mv ${LOG_HOME}/error.log ${LOG_HOME}/error.${LOG_PATH_BAK}.log
#向nginx主程序發訊號重新開啟日誌
kill -USR1 `cat ${LOG_HOME}/nginx.pid`
第二步、設定定時任務
1輸入命令:crontab -e
2加上命令:*/1 * * * * /usr/local/nginx/sbin/logcut.sh
第二條定時任務表示一分鐘執行一次,這裡只是方便測試,如要設定成其他時間,請自行百度調整
第三步、啟動相關的日誌系統並開啟定時任
注:此處路徑可能不一樣
/etc/init.d/rsyslog start #系統日誌,如不開啟,看不到定時任務日誌
/etc/rc.d/init.d/crond start #定時任務開啟
第四步、啟動nginx
執行sbin/nginx
完成之後的結果如下:
注:如果要確定自己的定時是正常執行的,可以執行一下命令
tail -f /var/log/cron
結果如下: