Nginx设置日志定时切割

不许人间见白头 48 0

自定义shell 脚本

# vim /usr/local/sbin/nginx_log_rotate.sh//写入如下内容

#! /bin/bash
## 假设nginx的日志存放路径为/data/logs/
#d是昨天的日期年月日
d=`date -d "-1 day" +%Y%m%d`
#logdir日志目录
logdir="/data/logs"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
# 做了个循环
for log in `ls *.log`
do
mv $log $log-$d
done
#从新加载下
/bin/kill -HUP `cat $nginx_pid`

执行过程

Nginx设置日志定时切割-第1张图片-阿豪运维笔记

结果

Nginx设置日志定时切割-第2张图片-阿豪运维笔记

任务计划

0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh

当然有生成就必须得有删除呀,不然肯定会占用磁盘空间的你说是吧

删除30天以前的

# find /tmp/ -name *.log-* -type f -mtime +30 |xargs rm


标签: Linux Nginx

抱歉,评论功能暂时关闭!