logrotate 管理分割 nginx 日志无效

2014-04-12 08:36:21 +08:00
 iambear
服务器想使用logrotate管理分割nginx日志,但是不知道为什么没有效果。如果手动执行logrotate强制rotate日志,能够成功分隔日志。

系统环境是centos 6.4。

下面是配置:

# cat /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
daily
rotate 15
missingok
dateext
sharedscripts
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}

执行sudo logrotate -dv /etc/logrotate.d/nginx的时候显示log does not need rotating

另外 cat /var/lib/logrotate.status 的时候,发现日志文件确实被标记成已经rotate了。
4762 次点击
所在节点    Linux
5 条回复
Lax
2014-04-12 09:26:31 +08:00
我遇到过两次的经验,供参考:
1 看看cron进程是不是起来了,以及cron里有没有配logrotate
2 /etc/logrotate.d/nginx与同目录下文件的权限是不是一致
iambear
2014-04-12 13:53:30 +08:00
@Lax /etc/cron.daily 里面有logrotate文件,这样是不是就证明配置过了?还是需要在其它地方配置每天执行才会每天去执行那个daily里面的任务。我看其它系统的log都能很好的rotate。另外/etc/logrotate.d/nginx权限跟其它的也是一样的。
xiawinter
2014-04-12 18:23:33 +08:00
流量多大, 日志多大, 如果日志很小,logrotate 会懒得搞
iambear
2014-04-12 20:48:16 +08:00
@xiawinter 今天的日志文件大概有几百兆吧,我感觉我的配置并没有指明对日志大小有限制。
xiawinter
2014-04-13 21:14:20 +08:00
nginx 运行在什么用户下面?

试试看 create 0640 www adm

如果 nginx 是 www 下面的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX