nginx日志切割并删除7日之前的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx日志切割并删除7日之前的相关的知识,希望对你有一定的参考价值。

shell脚本

vi /home/crontab/cut_nginx_log.sh  #编辑
#!/bin/sh
logs_path="/usr/local/nginx/logs/"
DAYS=7
mv ${logs_path}bbs_access.log  ${logs_path}nginx_logs/bbs_logs/bbs_access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logs_path}sns_access.log  ${logs_path}nginx_logs/sns_logs/sns_access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
find ${logs_path}nginx_logs/bbs_logs/  -name "bbs_access_*" -type f -mtime +$DAYS -exec rm {} \;
find ${logs_path}nginx_logs/sns_logs/  -name "sns_access_*" -type f -mtime +$DAYS -exec rm {} \;
:wq!  #保存退出

脚本的意思是移动日志文件,然后平滑重启nginx。这是会生成新的日志文件。

最后find 7日之前的日志并删除。


此脚本加入计划任务,时间可以根据情况设置

以上是关于nginx日志切割并删除7日之前的的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本切割日志

nginx按日分割日志

linux十二周三次课 (4月25日)笔记

nginx之自动日志切割--请注意这里不是脚本

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

5nginx日志切割和删除