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

wha*_*sta 2 linux logrotate

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

/var/log/app.*.log {
    daily
    rotate 7
    copytruncate
    nocompress
    dateext
}
Run Code Online (Sandbox Code Playgroud)

我发现当我去查看我的日志文件时,他们从一些二进制垃圾开始.我必须grep使用--text并在vim中加载文件需要永远.

这是预期的吗?我能做些什么来阻止它吗?

注意:以前的日志是utf8文本文件.

小智 5

我有同样的问题.我发现问题是我输出到日志而不是附加.例如:

./application> logfile.log

应该是什么时候:

./application >> logfile.log

会发生什么是logrotate上的copytruncate移动文件,然后输出似乎尝试写入相同的位置并用大量的hex fluff填充文件.这会将要检测的文件更改为二进制文件而不是文本文件.

更改为追加后,我再没有遇到过这个问题.