极客的东西有一个关于logrotate的例子。copytruncate将复制和截断原始日志文件。
那么我们为什么要使用create呢?未删除原始日志文件。
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}另一个问题是maxage 100的用途是什么?rotate 4指令将在4次旋转后删除旧日志文件。
发布于 2012-05-28 09:06:09
这可能是一个错误,它只在该教程的一个例子中找到。所有其他示例都有没有copytruncate选项的create。另外,logrotate 手册页声明它实际上将被忽略:
copytruncate在创建副本后将原始日志文件截断到零大小,而不是移动旧日志文件并可选择创建新日志文件。当某个程序无法被告知关闭它的日志文件时,可以使用它,因此可能会永远地将其写入(附加)到前一个日志文件。请注意,从复制文件到截断文件之间有很小的时间间隔,因此可能会丢失一些日志数据。当使用此选项时,create选项将不会产生任何效果,因为旧的日志文件将保持不变。
关于maxage,我认为它可能是有用的,例如,日志文件可以是空的几个轮转周期(天/周/月)-如果您使用notifempty,空日志文件将不会被旋转,所以您可以有太旧的旋转文件仍然到位。
https://unix.stackexchange.com/questions/33447
复制相似问题