- A+
所属分类:Nginx
nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析。以日期来作为日志的切割是比较好的,通常我们是以每日来做统计的。下面来说说nginx日志切割。
关于nginx相关日志配置参见:《nginx日志配置》一文。logrotate用法参见《logrotate日志管理工具》。
1. 定义日志轮滚策略
# vim nginx-log-rotate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/data/weblogs/*.log { nocompress daily copytruncate create notifempty rotate 7 olddir /data/weblogs/old_log missingok dateext postrotate /bin/kill -HUP `cat /var/run/nginx.pid 2> /dev/null` 2> /dev/null || true endscript } |
[warning]/data/weblogs/*.log使用通配符时,/data/weblogs/目录下的所有匹配到的日志文件都将切割。如果要切割特定日志文件,就指定到该文件。[/warning]
2. 设置计划任务
# vim /etc/crontab
1 |
59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/nginx-log-rotate) |
这样每天23点59分钟执行日志切割。
如需转载请注明出处: http://www.ttlsa.com/html/3166.html

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
03/06/2016 下午 4:28 沙发
官方推荐的是 logrotate。然后USR1,不要用HUP
27/01/2015 下午 1:09 板凳
vps 系统貌似会自动切割nginx 日志文件,按天保存 自动的
27/01/2015 下午 2:29 1层
@番号姐115 说明你的nginx已经是配置好的。
27/01/2015 下午 2:31 2层
@TTLSA yum 方式安装后,我没有做任何修改,第二天我查看日志的时候,已经按天自动打包了。
24/11/2014 上午 10:21 地板
@匿名
对的
USR1等待子进程退出,然后重载配置
HUP直接杀死子进程,然后重载配置
24/11/2014 上午 10:20 4楼
@匿名
对的,USR1会等待子进程处理完请求之后,退出子进程,然后重载新的配置文件,并且生成子进程。
而HUP则是直接杀死子进程,然后重载配置文件,最后生成子进程。
24/11/2014 上午 9:21 5楼
是不是用kill -USR1 更好点 切割日志
27/09/2013 下午 2:40 6楼
哈哈,不许要写定时任务计划,只要把脚本直接扔在/etc/logrotate.d/目录下面就行啦。。
27/09/2013 下午 3:30 1层
@独占默默 要23点59分钟执行日志切割。默认的cron任务没有这个点执行的
来自外部的引用: 2