CopyTruncate日志轮换机制正在丢弃日志

时间:2020-09-25 11:08:42

标签: linux logging logrotate log-rotation

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

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

通过上述配置,每当应用程序同时写入日志时触发了logrotation任务时,就会删除某些日志行。有人可以指导我做错了什么,还是建议其他日志轮换策略而又不丢失数据。

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经有几个月了,但只是为了他人的利益:您没有做错任何事情。从manpage

<块引用>

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

相关问题