Logrotate - 日志文件顶部的垃圾字符串

问题描述 投票:0回答:2

我最近设置了以下 logrotate 作业:

/var/log/app.*.log {
    daily
    rotate 7
    copytruncate
    nocompress
    dateext
}

我发现当我查看日志文件时,它们以一些二进制垃圾开始。我必须使用 --text 来 grep 并在 vim 中加载文件需要很长时间。

这是预期的吗?我可以采取什么措施来预防吗?

注意:日志曾经是utf8文本文件。

linux logrotate
2个回答
7
投票

我也遇到了同样的问题。我发现问题是我输出到日志而不是附加。例如:

./application > 日志文件.log

当它应该是:

./application >> 日志文件.log

发生的情况是 logrotate 上的 copytruncate 移动文件,然后输出似乎尝试写入相同的位置并用大量十六进制绒毛填充文件。这会将要检测的文件更改为二进制文件而不是文本文件。

改成append后,就没有再出现这个问题了。


0
投票

是的,附加日志对我有用。但是有没有其他方法可以通过更改 logrotate 文件中的任何配置来解决此问题?

© www.soinside.com 2019 - 2024. All rights reserved.