nginx的日誌一直是寫在一個檔案上面,執行久了之後檔案會非常大,因此我們有必要對nginx的日誌進行分割:
1
2
3
4
5
6
7
8
9
10
11
|
#! /bin/bash
ACCESS_LOG=/data/nginx/www.log
ERROR_LOG=/data/nginx/error.log
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#mv logs
echo "move log files"
mv ${ACCESS_LOG} /data/logs/nginx/www.log-${YESTERDAY}
mv ${ERROR_LOG} /data/logs/nginx/error-log-${YESTERDAY}
echo "reopen log files"
kill -USR1 $(cat /data/nginx/nginx.pid)
echo "done"
|
上面程式碼有幾個地方的變數需要讀者們改成自己相關的設定。最關鍵是kill –USR1 重啟相關日誌,但是程式並不會重啟。
在crontab -e中輸入如下命令來每週執行一次
1
|
0 1 * * 1 /data/nginx/nginx-log.sh
|