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

nginx实现按日期进行日志分割

时间:2017-05-08 14:22:55      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:img   href   src   平滑   local   控制   文件   导致   日志分割   

1:nginx的访问日志按日期分割,也就是每天的零点把前一天的访问日志以日期的形式备份,然后重新打开一份访问日志,这里的kill -USR1 $pid 重新打开访问日志,必须得把原来的mv,如果存在的话,还是在原来的基础上累加。
 
脚本:
#!/bin/bash

local_path=/usr/local/nginx/logs

cd $local_path

if [ !-d date_log ] ;then
    mkdir date_log
fi

mv access_nginx.log $local_path/date_log/access_`date -d "yesterday" +%Y%m%d`
nginx_pid=`ps -ef |grep -v grep |grep "nginx: master process"|awk -F" " {print $2}`
`sudo kill -USR1 $nginx_pid`
 
然后把脚本加入定时任务:
55 11 * * * /bin/bash /home/yangyifeng/nginx_log.sh &>/home/yangyifeng/nginx_log.log
 
这里直接这样会报错:

技术分享

 
解决办法:
在vim /etc/sudoers,把执行定时任务的用户修改一下,表示某某用户不需要终端控制
技术分享
 
 
有关USR1的介绍:
USR:是User-defined的缩写,即用户定义的
USR1通常被用来告知应用程序重载配置文件,如:向Apache HTTP服务器发送一个USR1信号,将导致如下步骤:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改
 
技术分享
 
 

 

nginx实现按日期进行日志分割

标签:img   href   src   平滑   local   控制   文件   导致   日志分割   

原文地址:http://www.cnblogs.com/lemon-le/p/6824529.html

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