1、建立/etc/logrotate.d/nginx文件[1]
vim /etc/logrotate.d/nginx
2、写入如下内容:
/var/log/nginx/*log { daily rotate 10 missingok notifempty compress sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` endscript }
注释:
/var/log/nginx/*log:需要轮询(转存)日志路径
daily[weekly]:每天[每周]轮询(转存)
rotate 10:保留最多10次滚动的日志
missingok:如果日志丢失,不报错继续滚动下一个日志
notifempty:当日志为空时不进行滚动
compress:旧日志默认用gzip压缩
postrotate/endscript :日志转储后执行的脚本。这里用来让nginx重新生成日志文件[2]
/var/run/nginx.pid:nginx主进程pid
参考:
[1] 朱茂海.使用logrotate轮询nginx和apache日志[EB/OL].(2011-12-6)[2014-04-28].https://www.centos.bz/2011/12/logrotate-nginx-log/
[2] 天使羊波波闪耀光芒.CentOS Linux使用logrotate分割管理日志(2011-09-21)[12014-04-28].http://www.live-in.org/archives/874.html