暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Nginx日志切割及删除7天前的历史日志脚本

聂扬帆博客 2016-11-07
206

Nginx日志按天切割有利于我们对日志的分析,更快速的备份。废话不多说,脚本如下:

#!/bin/bash
#初始化
LOGS_PATH=/data/nginx/logs
YESTERDAY=$(
date
-d
"yesterday"
+%Y-%m-%d)
#按天切割日志
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
#向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败.
kill -USR1 `ps axu | grep
"nginx: master process"
| grep -v grep | awk
'{print $2}'
`
#删除7天前的日志
cd ${LOGS_PATH}
find . -mtime +7 -name
"*20[1-9][3-9]*"
| xargs rm -f
exit
0

将这个脚本添加到计划任务,每天执行一次即可:

1 0 * * * /usr/local/script/cut_del_logs.sh

文章转载自聂扬帆博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论