Nginx日誌分割並自動刪除日誌
阿新 • • 發佈:2019-02-05
#!/bin/bash # 分割nginx日誌指令碼 time=`date +%Y%m%d` logs_path="/usr/local/nginx/logs/" pid_path="/usr/local/nginx/logs/nginx.pid" #日誌分割,按天建立資料夾 cd $logs_path website=`ls $logs_path/access_* | xargs -n 1 | cut -f 2 -d "_"` for i in $website do mkdir -p $logs_path/backup/$time/ mv $logs_path/access_$i $logs_path/backup/$time/$i done #向nginx主程序發訊號重新開啟日誌 kill -USR1 `cat ${pid_path}` #每月1日刪除所有超過30天日誌。 if [ "`date +%d`" = "01" ]; then all_list=`ls $logs_path/backup | xargs -n 1` for del in $all_list do let results=$time-$del if [ $results -gt 30 ]; then rm -rf $logs_path/backup/$del fi done fi