logrotate 日志轮询(转存)

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

原文地址:https://www.cnblogs.com/ccdc/p/3696528.html