【问题标题】:Redis logrotate configRedis logrotate 配置
【发布时间】:2011-07-26 15:27:59
【问题描述】:

有人有 redis 的示例 logrotate 配置吗?这就是我目前所拥有的

/var/log/redis/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                ...
        endscript
}

但我不确定在旋转后步骤中该怎么做。这是在 Ubuntu 10.04 LTS 上。

【问题讨论】:

    标签: redis logrotate


    【解决方案1】:

    这可能就足够了:

    /var/log/redis/*.log {
           weekly
           rotate 10
           copytruncate
           delaycompress
           compress
           notifempty
           missingok
    }
    

    【讨论】:

    • 但是这个请求Redis怎么重新打开日志文件呢? ... 哎呀,我自己想通了:Redis 实际上在每个日志行重新打开(请参阅 github.com/antirez/redis/issues/337#issuecomment-4002868
    • copytruncate 重复使用相同的原始文件(复制然后截断)。因此,即使 redis 没有重新打开文件,它也应该可以正常工作。
    • Copytruncate 效率低下,如果可能的话,我想避免它。可能吗?好像是这样,我试试看。
    • Copytruncate 似乎不适用于 redis-sentinel。截断后 Sentinel 的日志不会增长。
    【解决方案2】:

    我去了

    /var/log/redis/*.log {
            weekly
            missingok
            rotate 52
            compress
            delaycompress
            notifempty
            create 0660 redis redis
    }
    

    因为我不想要copytruncate

    我不确定create 行是否必要。它与 Ubuntu(或 Debian)上的 redis-server 通常创建的日志文件的文件模式和所有权相匹配。

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 2014-12-16
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 2012-04-14
      • 2021-01-22
      • 2019-11-08
      • 2012-12-18
      相关资源
      最近更新 更多