我在下面有一个日志文件夹/var/USER/mylogs
,每天都有格式为 的日志文件"DATE-mylogile.log"
。日期格式为"%d-%m-%Y"
.
因此,在我的文件夹中,我有以下日志文件:
12-01-2024-mylogfile.log
13-01-2024-mylogfile.log
14.01-2024-mylogfile.log
...
现在我想使用 logrotate 来旋转日志。我的测试配置如下所示:
/var/USER/mylogs/*.log {
weekly
rotate 4
compress
missingok
dateext
dateformat -%d-%m-%Y
}
但是当 logrotate 运行时,它会为每个日志文件创建 gz-Archive,例如:
12.01-2024-mylogfile.log-12-03-2024.gz
13.01-2024-mylogfile.log-13-03-2024.gz
14.01-2024-mylogfile.log-14-03-2024.gz
但我希望 logrotate 每周创建一个 gz-Archive,其中包括一周中的所有单个日志文件,这样就只有一个 gz-Archive,如下所示:
mylogfile.log-14-03-2024.gz
但我被困住了 - 那么这可能吗?我该怎么做?
经过更多研究后,我发现了一个服务器故障后给出了答案。
因此不可能轮换文件名中包含时间/日期的日志。logrotate 设计为使用每次都相同的日志文件,并且应用程序在该单个日志文件上写入。
来自链接服务器故障帖子的回答: