我最近设置了以下 logrotate 作业:
/var/log/app.*.log {
daily
rotate 7
copytruncate
nocompress
dateext
}
我发现当我查看我的日志文件时,它们以一些二进制垃圾开头。我必须使用 --text 进行 grep 并在 vim 中加载文件需要很长时间。
这是预期的吗?我能做些什么来阻止它吗?
注意:日志以前是utf8文本文件。
最佳答案
我遇到了同样的问题。我发现问题是我输出到日志而不是追加。例如:
./application> logfile.log
什么时候应该:
./application >> logfile.log
发生的事情是 logrotate 上的 copytruncate 移动文件,然后输出似乎尝试写入相同的位置并用大量十六进制绒毛填充文件。这会将要检测的文件更改为二进制文件而不是文本文件。
改成append后,再没出现过这个问题。
关于linux - Logrotate - 日志文件顶部的垃圾字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18648008/