解决nginx按照每天备份日志Crontab定时任务不生效

1.首先,我们先需要在本地编写一个sheel脚本,我这边本地是win10的系统。nginx是部署在linux系统中(sheel脚本需要放在linux系统中),以.sh结尾

2.需要执行的脚本代码为,注意里面的nginx中的log路径,需要替换成你自己的log路径。

#/bin/bash
#备份日志的路径
bakpath='/opt/openresty/nginx/backlogs'
#nginx日志路径
logpath='/opt/openresty/nginx/logs'
#在备份路径下创建年月子目录--按照月备份文件夹
mkdir -p $bakpath/$(date +%Y)/$(date +%m)
#移动日志文件到备份路径,并改名为日期格式
mv $logpath/access.log $bakpath/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $logpath/error.log $bakpath/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log
#用 USR1 信号让nginx重新打开日志文件
kill -USR1 `cat /opt/openresty/nginx/logs/nginx.pid`

3.我们将脚本文件写好以后,放至linux系统中的文件夹内。这个可自己定义。
然后我们需要在linux系统中创建定时任务,具体步骤是
先输入crontab -e,开始编辑定时任务 输入 i 回车,开始编辑
然后在输入定时任务执行的时间点,我这边举例说明
*/1 * * * * /bin/sh /opt/openresty/nginx/cut_nginx_logs.sh

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值