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

nginx日志切割脚本

时间:2015-03-20 18:59:13      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:yesterday   配置文件   local   切割   命名   

1.今天本来想看下nginx的错误日志,结果打开却刷出密密麻麻的日志,因为nginx本身不带有自动切割日志,累积太多的结果。这个时候就很烦了,没办法,我只能写参考一下别人的日志切割,写了自己所想要的日志切割脚本。


2.脚本如下:

#!/bin/bash

#

log_path="/usr/local/nginx/logs"   

pid_path="/usr/local/nginx/logs"   

date=$(date -d "yesterday" "+%Y%m%d")  

outdate=$(date -d "7 days ago" "+%Y_%m_%d") 


delete_path=$log_path/$outdate    


mv $log_path/access.log  $log_path/access.log_$date.log


kill -USR1 `cat $pid_path/nginx.pid`  nginx主进程发信号重新打开日志


nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者。

 

重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件。

 

工作进程立刻打开新的日志文件并关闭重名名的日志文件。

 

然后你就可以处理旧的日志文件了。



3.crontab

  

   0 0 * * * /home/cutnginxlog.sh


这样就每天的0点0分把nginx日志重命名为日期格式,并重新生成今天的新日志文件。



nginx日志切割脚本

标签:yesterday   配置文件   local   切割   命名   

原文地址:http://9729002.blog.51cto.com/9719002/1622546

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