Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
iambear
V2EX  ›  Linux

logrotate 管理分割 nginx 日志无效

  •  
  •   iambear · Apr 12, 2014 · 5615 views
    This topic created in 4458 days ago, the information mentioned may be changed or developed.
    服务器想使用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了。
    5 replies    1970-01-01 08:00:00 +08:00
    Lax
        1
    Lax  
       Apr 12, 2014
    我遇到过两次的经验,供参考:
    1 看看cron进程是不是起来了,以及cron里有没有配logrotate
    2 /etc/logrotate.d/nginx与同目录下文件的权限是不是一致
    iambear
        2
    iambear  
    OP
       Apr 12, 2014
    @Lax /etc/cron.daily 里面有logrotate文件,这样是不是就证明配置过了?还是需要在其它地方配置每天执行才会每天去执行那个daily里面的任务。我看其它系统的log都能很好的rotate。另外/etc/logrotate.d/nginx权限跟其它的也是一样的。
    xiawinter
        3
    xiawinter  
       Apr 12, 2014
    流量多大, 日志多大, 如果日志很小,logrotate 会懒得搞
    iambear
        4
    iambear  
    OP
       Apr 12, 2014
    @xiawinter 今天的日志文件大概有几百兆吧,我感觉我的配置并没有指明对日志大小有限制。
    xiawinter
        5
    xiawinter  
       Apr 13, 2014
    nginx 运行在什么用户下面?

    试试看 create 0640 www adm

    如果 nginx 是 www 下面的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3020 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 10:48 · PVG 18:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.