nginx日志定時備份和刪除怎么配置

一旦開啟了nginx日志功能,每天nginx都會生成一定大小的日志文件,如果系統(tǒng)穩(wěn)定運(yùn)行,沒有任何問題,那么日志基本上不會去查看。但這些日志如不及時清理,日漸積累,對服務(wù)器的磁盤空間占用也將是比較恐怖的。為了解決這個問題,利用shell腳本對nginx日志文件定時備份和刪除,只保留一段時間。

圖1:

nginx日志定時備份和刪除怎么配置

#!/bin/bash #auth:lzq #desc:把當(dāng)前日志按日期備份,重新生成第二天的日志文件 #date:2016-09-18  date=`date?+%y%m%d` nginx_pid=`cat?/var/run/nginx.pid` #如果當(dāng)前nginx沒有運(yùn)行就退出 if?[?"$?"?!=?0?] then ????exit?1; fi  #nginx?日志所在的路徑 log_path='/usr/local/nginx/logs/' log_name='access.log' mv?${log_path}${log_name}?${log_path}${log_name}$date  #刪除7天前舊的備份文件 function?deloldbak() { ????olddate=`date?+"%y%m%d"?-d?"-$1?day"` ????if?[?-e?"${log_path}${log_name}$olddate"?] ????then ????????rm?-f?${log_path}${log_name}$olddate ????????echo?"${log_path}${log_name}$olddate?del?ok" ????fi }  #重載nginx配置,重新生成nginx日志文件 kill?-usr1?$nginx_pid  if?[?"$?"?==?0?] then ????deloldbak?7 ????exit?0; fi

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享