包含日志文件的 logrotate 目录

logrotate directory containing log files

我正在寻找一种可以对特定目录中的所有日志文件进行 logrotate 的方法。

我目前使用的配置是:

/path/to/folder/*.log {
daily
rotate 5
missingok
notifempty
maxage 14
compress

}

每天 - 因为我希望它每天 运行

轮换 - 删除前轮换 5 个版本

maxage 14 - 14 天后删除实际日志文件

compress - 在旋转时压缩日志文件。

我不明白的是为什么现在的日志文件也被压缩了?我希望至少当前几天和昨天的日志文件保持不变。

我尝试使用 delaycompress,但这也无济于事。

你能帮我看看我做错了什么吗?

添加delaycompress将延迟压缩一圈。

你应该有:

  • 正在写入的当前日志文件;
  • 上一个未压缩的日志文件(在旋转之前从 "current" 日志文件创建);
  • 较早的日志文件已压缩。

请注意 maxage 14 在这里并不是很有用,因为 rotate 将在 5(每日)轮换后删除日志文件。