nginx日誌檔案預設有兩個,一個是access.log,一個是error.log,隨著專案的執行, 兩個日誌檔案會變得越來越大,後期排查錯誤就不好定位,為了解決這個問題,每天凌晨定時將日誌切割。
step1:在/usr/local/nginx/sbin 目錄下編寫定時切割指令碼
vim cut_my_log.sh
#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主程式傳送訊號,用於重新開啟日誌檔案
kill -USR1 `cat $PID`
賦予執行許可權
chmod 755 cut_my_log.sh
step2:安裝定時任務
yum install crontabs
step3:新增一項定時任務執行 crontab -e
59 23 * * * /usr/local/nginx/sbin/cut_my_log.sh
step4:重啟定時任務
service crond restart
附:常用定時任務命令:
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
crontab -e // 編輯任務
crontab -l // 檢視任務列表
定時任務表示式:
Cron表示式是,分為5或6個域,每個域代表一個含義,如下所示:
常用表示式:
每分鐘執行:
*/1 * * * *
每日凌晨(每天晚上23:59)執行:
59 23 * * *
每日凌晨1點執行:
0 1 * * *
原文連結:www.9he.com
本作品採用《CC 協議》,轉載必須註明作者和本文連結