Geek Stuff有一个关于logrotate
. copytruncate
将复制并截断原始日志文件。
那我们为什么要使用create
?原始日志文件尚未删除。
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}
Run Code Online (Sandbox Code Playgroud)
另一个问题是有什么用maxage 100
?该rotate 4
指令将在 4 次轮换后删除旧的日志文件。
Mar*_*555 67
这可能是一个错误,它仅在该教程的一个示例中找到。所有其他示例都copytruncate
没有create
选项。此外logrotate
手册页指出,将实际忽略:
copytruncate
创建副本后,将原始日志文件原地截断为零大小,而不是移动旧日志文件并可选择创建新日志文件。当某些程序无法被告知关闭其日志文件并因此可能永远继续写入(附加)到前一个日志文件时,可以使用它。请注意,复制文件和截断文件之间的时间片非常短,因此可能会丢失一些日志记录数据。使用此选项时,创建选项将无效,因为旧日志文件保留在原处。
关于maxage
,我认为它对于例如可以在几个轮换周期(天/周/月)内为空的日志文件很有用 - 如果您使用notifempty
,空日志文件将不会被轮换,因此您可能会保留太旧的轮换文件.
归档时间: |
|
查看次数: |
112590 次 |
最近记录: |