1. 程式人生 > >五、nginx日誌分割

五、nginx日誌分割

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

結果如下: