【问题标题】:CopyTruncate log rotation mechanism is dropping logsCopyTruncate 日志轮换机制正在丢弃日志
【发布时间】:2021-01-11 17:17:43
【问题描述】:

我已经使用 copytruncate 策略实现了基于 linux 的 logrotation。以下是相同的配置:

/data/app/info.log {
missingok
copytruncate
maxsize 50M
daily
rotate 30
create 644 app app
delaycompress
compress
}

使用上述配置,每当触发 logrotation 任务时应用程序同时写入日志,一些日志行就会被丢弃。有人可以指导我做错了什么或建议任何其他不会丢失数据的日志轮换策略。

【问题讨论】:

    标签: linux logging logrotate log-rotation


    【解决方案1】:

    我知道这个问题是几个月前的问题,但只是为了他人的利益:你没有做错任何事。来自manpage

    复制截断: 创建副本后在原地截断原始日志文件,而不是移动旧日志文件并选择性地创建新日志文件。当某些程序无法被告知关闭其日志文件并因此可能永远继续写入(附加)到前一个日志文件时,可以使用它。 请注意,复制文件和截断文件之间的时间间隔非常短,因此可能会丢失一些日志记录数据。使用此选项时,create 选项将不起作用,因为旧日志文件保留在原处。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-15
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多