码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx 脚本自动进行日志切割

时间:2019-09-08 15:34:58      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:日志   nginx   pat   不发送   bak   nta   crontab   运行   ESS   

随着网站的运行时间越来越长,日志文件也会随之越来越大
需要对Nginx日志进行切割,下面是每周六晚上自动进行日志切割的shell脚本

脚本如下:

[root@jrjs ~]# vim /usr/local/nginx/logbak.sh       #新建脚本名为logbak.sh
#!/bin/bash                    #解释器
date=`date +%Y%m%d`                 #自定义date变量,值等于当前日期
logpath=/usr/local/nginx/logs             #自定义logpath变量,值等于Nginx日志所在路径
mv $logpath/access.log $logpath/access-$date.log    #把当前access日志重命名
mv $logpath/error.log $logpath/error-$date.log      #把当前error日志重命名
kill -USR1 $(cat $logpath/nginx.pid)            #向nginx主进程发送USR1信号,重新打开生成日志文件,如不发送USR1,Nginx将会继续写入改名之后的日志

接下来把写好的脚本写入计划任务,自动执行。

[root@jrjs ~]# crontab -e              #打开计划任务表
01 02 * * 6 /usr/local/nginx/logbak.sh        #每周六凌晨2:01运行脚本进行日志切割

Nginx 脚本自动进行日志切割

标签:日志   nginx   pat   不发送   bak   nta   crontab   运行   ESS   

原文地址:https://www.cnblogs.com/jrjs/p/11486504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!