nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析。以日期来作为日志的切割是比较好的,通常我们是以每日来做统计的。下面来说说nginx日志切割。关于nginx相关日志配置参见:《》一文。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 } |
2. 设置计划任务
# vim /etc/crontab 1 | 59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/nginx-log-rotate ) |
这样每天23点59分钟执行日志切割。