場景
當Nginx運作久了之後,日志檔案會很龐大,是以需要對日志檔案進行滾動備份,可以用定時任務實作
腳本
#!/bin/bash
LOG_PATH="/usr/nginx/logs/"
PID_PATH="/usr/nginx/logs/nginx.pid"
BACKUP_PATH="~/logBack/nginx/"
BACKUP_DATE=`date -d "yesterday" +"%Y-%m-%d"`
[ ! -d $BACKUP_PATH ] && mkdir -p $BACKUP_PATH
#rename logfile
mv ${LOG_PATH}access.log ${LOG_PATH}access_bak_${BACKUP_DATE}.log
#produce a new logfile
kill -USR1 `cat ${PID_PATH}`
# back logfile
if [ -d $LOG_PATH ];then
cd $LOG_PATH
tar zcf access_log_${BACKUP_DATE}.tar.gz access_bak*.log
mv access_log*.tar.gz $BACKUP_PATH
rm -f access_bak*.log
fi
定時任務
每天零點五分執行
5 0 * * * ~/nginx_log_rotate.sh >> ~/nginx_log_rotate.log