您的位置:首页 > 运维架构 > Nginx

Nginx-日志分割配置实例

2013-01-20 21:02 381 查看
参考:http://ixdba.blog.51cto.com/2895551/798913

Nginx没有类似Apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能利用脚本来实现日志的自动切割。请看下面的一个实例。
Nginx对日志进行处理的脚本:
#/bin/bash

savepath_log='/home/nginx/logs'

#定义旧日志存放的位置

nglogs='/opt/nginx/logs'

#定义nginx日志存放的位置

mkdir -p $savepath_log/$(date +%Y)/$(date +%m)

#以日期为名称新建文件夹

mv $nglogs/access.log $savepath_log/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log

mv $nglogs/error.log $savepath_log/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log

#移动日志到目的位置

kill -USR1 `cat /opt/nginx/logs/nginx.pid`

#cat 后面是nginxPID文件存放位置.

将这段脚本保存后加入到Linux的crontab守护进程,让此脚本在每天凌晨0点执行,就可以实现日志的每天分割功能了。
其中,变量savepath_log指定分割后的日志存放的路径,而变量nglogs指定Nginx日志文件的存放路径。最后一行,通过Nginx的信号“USR1”实现了日志的自动切换功能。
而我的nginx version: nginx/1.2.6有自动分割日志的功能.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: