如何让 logrotate 将上周的内容保存到当前 .log 中

如何让 logrotate 将上周的内容保存到当前 .log 中

是否可以让 logrotate 将最近一周的日志保留在当前文件中?

例如 :

errors.log 包含 30 天的日志

在日志旋转执行之后,我会:

errors.log 包含最近 7 天的日志

errors.log.1.gz 与其他 23 天一起压缩。

那可能吗?

答案1

weekly
rotate 4
compress

接下来是 postrotate 脚本,执行以下操作(未经测试):

TMP=$(mktemp)
zcat /var/log/errors.log.{4,3,2,1}.gz > $TMP
mv $TMP /var/log/errors.log.1
gzip /var/log/errors.log.1

干杯。

相关内容