logrotate管理分割nginx日志无效

这个问题困扰了我很久,也在很多地方发帖求助过,segmentfault地址如下(http://segmentfault.com/q/1010000000442448)

现摘录如下,做个备份:

服务器想使用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了。


最后发现是selinux的问题。

chcon -Rv --type=var_log_t /usr/local/nginx/logs/ 为文件加上var_log_t就可以了

你可能感兴趣的:(centos)