yzc27
V2EX  ›  问与答

求教各位大佬关于 logrotate nginx 日志的问题

  •  
  •   yzc27 · Sep 6, 2018 · 2168 views
    This topic created in 2850 days ago, the information mentioned may be changed or developed.

    logrotate nginx 日志之后,nginx 不往 nginx_access.log 写新日志,而是继续往 nginx_access.log-20180906 写日志。只有 service nginx restart 之后才会重新写回 nginx_access.log 。。。

    下面是我的 logrotate 的配置

    /log/nginx/*.log {
    		daily
    		missingok
    		rotate 186
    		dateext
    		compress
    		delaycompress
    		ifempty
    		create 640 www-data www-data
    		sharedscripts
    		postrotate
    			[ -f /run/nginx.pid ] && /bin/kill -USR1 `cat /run/nginx.pid`
    		endscript
    }
    

    /run/nginx.pid 确实是 nginx 的 pid 文件,求教各位大佬!!!

    7 replies    2018-09-06 17:06:42 +08:00
    lolizeppelin
        1
    lolizeppelin  
       Sep 6, 2018 via Android
    pid 对得上么 滚的时候 nginx 日志里看得见 reload 没
    msg7086
        2
    msg7086  
       Sep 6, 2018
    rotate 完了以后你执行一下 /bin/kill -USR1 `cat /run/nginx.pid` 试试呢?
    如果执行完没用的话可能是这行命令有问题。

    另外我这边 debian 自带的配置是
    postrotate
    invoke-rc.d nginx rotate >/dev/null 2>&1
    endscript
    yzc27
        3
    yzc27  
    OP
       Sep 6, 2018
    @msg7086
    囧。。。我这边 nginx 源 apt 安装的 nginx 自带的 logrotate 配置是[ -f /run/nginx.pid ] && /bin/kill -USR1 `cat /run/nginx.pid`。。
    yzc27
        4
    yzc27  
    OP
       Sep 6, 2018
    @lolizeppelin 对得上。我怀疑是权限问题。我的 log 是放在 /root 里面的 log 子目录里面,正常 nginx 能写得了日志,但 logrotate 就不能写 nginx_access.log ,非得要 service nginx restart 一下才能写。。。
    wuwuyun
        5
    wuwuyun  
       Sep 6, 2018
    copytruncate 就行了 不用重启
    yzc27
        6
    yzc27  
    OP
       Sep 6, 2018
    @wuwuyun 网上说那个参数,在切换文件时有可能丢失一丢丢的日志。。。。
    wuwuyun
        7
    wuwuyun  
       Sep 6, 2018
    @yzc27 选个没人用的时间 rotate 不行嘛,要是 24 小时都是巨量访问。。。那当我没说
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2743 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 13:13 · PVG 21:13 · LAX 06:13 · JFK 09:13
    ♥ Do have faith in what you're doing.