天天看點

Linux下Nginx日志壓縮備份腳本場景腳本定時任務

場景

當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