分割Nginx的access.log日志并保留30天一个月时长,自动删除多余的日志

1、创建存放日志文件夹

mkdir /data/nginx_logs/

2、创建分割日志脚本

vim /usr/local/nginx/sbin/cut_nginx_logs.sh

3、输入文件内容
保存日志目录为:/data/nginx_logs/
log_files_from 为 nginx.conf 配置的原始日志文件路径
log_files_to 为新存放的日志文件路径

#!/bin/bash
#function:cut nginx log files


log_files_from="/usr/local/nginx/logs/"
log_files_to="/data/nginx_logs/"
log_name="access"
backupEndTime=`date +%Y-%m-%d@%Hh%Mm%Ss`

file=${log_files_from}${log_name}.log
if [ -f "$file" ];then
    mv ${log_files_from}${log_name}.log ${log_files_to}${log_name}_${backupEndTime}.log
#delete 30 days ago nginx log files
    cd $log_files_torm 
    rm -rf `find . -name '*.log' -mtime +30`
#restart nginx
    systemctl restart nginx
fi

4、赋予执行权限

chmod +x /usr/local/nginx/sbin/cut_nginx_logs.sh

5、使用 crontab 添加定时任务
打开定时任务

crontab -e 

添加定时任务,这里每天凌晨0点执行一次。

00 00 * * * /bin/sh /usr/local/nginx/sbin/cut_nginx_logs.sh #添加定时任务

测试:/30 * /bin/sh /usr/local/nginx/sbin/cut_nginx_logs.sh 每半小时执行一次
重启 crontab 服务

systemctl restart crond

查看定时任务

crontab -l 
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值