nginx日誌分割腳本及crontab

日誌分割腳本:

#!/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運行異常)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章