1. 程式人生 > >Nginx 日誌檔案切割

Nginx 日誌檔案切割

楔子

阿里雲的Nginx好久沒檢視過日誌,現在需要配置定時任務實現,日誌檔案切割,並刪除超過30天的日誌檔案。

日誌檔案切割

  • 把舊檔案A拷貝到 指定目錄(這時 Nginx還會繼續在舊檔案A中寫日誌)
  • 呼叫nginx -s reopen ,nginx日誌就會寫入新的檔案中

定時任務

#!/bin/bash

 
#獲取當前時間 yyyy-MM-dd_HH_mm_ss 格式
nowtime=`date "+%Y-%m-%d_%H_%M_%S"`
cd /usr/local/nginx
mv logs/error.log ./logbak/${nowtime}_error.log
mv logs/access.log  ./logbak/${nowtime}_access.log
nginx -s reopen
# 上面也可以用 kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

定時任務

crontab -e 來新增定時任務

00 04 1 * *  /usr/local/nginx/log.sh

參考