日誌分割腳本:
#!/bin/bash
year=`date +%Y`
month=`date +%m`
day=`date +%d`
logs_backup_path="/data/log/nginx/$year$month" #日誌存儲路徑
logs_path="/data/log/nginx/" #要切割的日誌路徑
logs_access="access" #要切割的日誌
logs_error="error"
pid_path="/usr/local/nginx/logs/nginx.pid" #nginx的pid
[ -d $logs_backup_path ]||mkdir -p $logs_backup_path
rq=`date +%Y%m%d`
#mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
crontab 配置,每天晚上凌晨備份一次
55 23 * * * sh /data/log/nginx_log_cut.sh
親測好用,,,每天 23:55會吧日誌切割備份
【1】原理是吧日誌文件移動到對應日期目錄下
【2】重啓nginx(nginx記錄時,日誌文件不存在,可能會造成nginx運行異常)