nginx定时任务完成日志切割

一:nginx日志切割
(1) 新建一个data目录
[root@localhost nginx]# mkdir /data
(2) 新建一个shell脚本
[root@localhost data]# vi runlog.sh
(3) 编写shell脚本
#需要切割日志文件的路径

   LOGPATH=/usr/local/nginx/logs/access.log

   #根据月份创建一个目录

   BASEPATH=/data/$(date -d yesterday +%y%m)

   mkdir -p $BASEPATH

   #把当前的日志文件修改 当前日期的的天数 

   bak=$BASEPATH/$(date -d yesterday +%y%m%d%H%M).hgj123.com.log

   mv $LOGPATH $bak

  #重新创建一个日志文件

  touch $LOGPATH

  #重新执行nginx 信号量  重读日志   [注意 反引号]

  kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

(3)执行

   sh  runlog.sh

(4)定时任务

   crontab -e 

   #编写代码

    */1  * * * * sh data/runlog.sh

   /*注意点

      01 00 * * * /xxx/path/b.sh  每天0时1分(建议在02-04点之间,系统负载小)

  */

新建一个shell 脚本命名为runlog.sh

#定义一个shell脚本

#!/bin/bash

#获取根目录下的日志文件

LOGPATH=/usr/local/nginx/logs/z.com.access.log

#获取当前的日期,并创建改文件夹

BASEPATH=/usr/local/nginx/data/$(date -d yesterday +%Y%m)

mkdir -p $BASEPATH

#把日志存放到当前月份的文件夹中

bak= B A S E P A T H / BASEPATH/ BASEPATH/(date -d yesterday +%d%H%M).z.com.access.log

mv $LOGPATH $bak

#重新建立一份新的日志文件

touch $LOGPATH

#重新给nginx发信号,重读日志文件

kill -USR1 cat /usr/local/nginx/logs/nginx.pid


crontab 定时器的编写

*/1 * * * * sh /usr/local/nginx/data/runlog.sh

—分 时 日 月 周—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值