nginx在不重启进程的状况下,分割nginx日志,天天一个日志

摘要:因为nginx的日志自己只是支持按照server_name或者大小进行划分,因此对于有的站长,要对应的网站一天一个日志分析就不方便,固有了分割nginx日志的需求。nginx

实现原理:apache

实现步骤:服务器

一.从一台已经安装好apache的机器上的apache bin目录下把rotatelogs拷贝到nginx服务器的/usr/local/nginx/logs/下:网站

1. cp rotatelogs /usr/local/nginx/logsspa

2. chmod +x /usr/local/nginx/logs/rotatelogs日志

二.建立有名管道:server

1. mkdir /usr/local/nginx/logs/xiazai/原理

2. mkfifo /usr/local/nginx/logs/xiazai/access_log配置

三.在nginx配置文件server中加上:date

1.  access_log    /usr/local/nginx/logs/xiazai/access_log ;

四.建立日志存储目录:

1. mkdir /usr/local/nginx/logs/xiazai/log

五.建立日志分割脚本:

[root@nginx-71 xiazai]# cat /usr/local/nginx/logs/xiazai/rotate.sh 
baselogdir=/usr/local/nginx/logs/xiazai
rotatelogs=/usr/local/nginx/logs/rotatelogs
while [ 1 ]
do
echo `date +"%F %T"`" rotatelogs access start"
$rotatelogs $baselogdir/log/access_%Y%m%d.log 86400 480 < $baselogdir/access_log
echo `date +"%F %T"`" rotatelogs access stop"
sleep 1;
done

六.建立启动日志分割脚本:

[root@nginx-71 xiazai]# cat /usr/local/nginx/logs/xiazai/run.sh  sh /usr/local/nginx/logs/xiazai/rotate.sh >> /usr/local/nginx/logs/xiazai/log/access-rotate.log 2>&1 &

相关文章
相关标签/搜索