编程爱好者之家

Linux下nginx日志文件自动切割删除

2019-11-25 11:39:53 251

最近看到网站的日志每天都在增大,而且数据没有及时的切割查每日天的数据也不方便,接下来吾爱编程为大家介绍一下Linux下nginx日志文件自动切割删除,有需要的小伙伴可以参考一下:

1、编写shell脚本qiege.sh:


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

2、设置定时任务执行脚本:



[root@localhost ~]#crontab -e

新增如下定时任务



0 0 * * * sh /data/logs/qiege.sh

日志就会每天在零点的时候进行切割,日志最多保存30天


同类文章