centos7-nginx 日志按日分割及清理

centos7-nginx 日志清理

1、首先创建脚本文件clear_log.sh

cd /usr/local/nginx/sbin
vi clear_log.sh

输入如下内容
 

#!/bin/bash

#日期参数

date= `date -d "yesterday" +"%Y%m%d"`

# 创建带有日期的日志文件夹

mkdir /usr/local/nginx/logs/log-${date}

# 先复制原来的错误日志文件,请根据自己实际的日志路径填写

cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/log-${date}/error-${date}.log

# 清空错误日志文件

cat /dev/null > /usr/local/nginx/logs/error.log

# 先复制原来的访问日志

cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/log-${date}/access-${date}.log

# 清空原来的正常访问日志

cat /dev/null > /usr/local/nginx/logs/access.log

# 定期删除七天前的日志文件

#find /usr/local/nginx/logs -mtime 7 -type f -name \*.log | xargs rm -f

# 定期删除七天前的日志文件夹

find /usr/local/nginx/logs -mtime 7 -type d -name "log-*" | xargs rm -rf

 

2、添加可执行权限

sudo chmod +x clear_log.sh

3、添加Linux计划任务

crontab -e

4、输入如下内容

#每天0点执行日志清理脚本

0 0 * * * /usr/local/nginx/sbin/clear_log.sh

保存后退出,输入以下命令查看调度计划

crontab -l

至此完成nginx日志按天拆分与定期清除。

 

注意:若定时任务未执行,检查crond任务是否正常:service crond status

重启下定时任务:

方式一:service crond stop、service crond start

方式二:service crond restart

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值