极客材料有一个关于的例子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次后删除旧的日志文件。
maxage 100当旋转的文件超过100天且当前文件已旋转时,将删除它们;即使4存在少于旋转文件的文件。
man logrotate甚至这样说:“ copytruncate:[...]使用此选项时,由于旧的日志文件保留在原处,因此create选项将无效。”