我有许多以/var/log/myapp/
结尾的文件.log
。因此我创建了一个
/var/log/myapp/*.log {
daily
create 644
rotate 90
compress
missingok
}
这非常有效。我这里有许多不同的日志类型,我想更改部分访问日志(access_log_.log
)的保留时间,使其保留时间仅为 45 天。那么我该如何挑选这两个并更改保留时间呢?如果我像这样附加一个新块:
/var/log/myapp/access_log_*.log {
daily
create 644
rotate 45
compress
missingok
}
然后它首先进行通常的对数旋转,然后对那些旋转进行对数旋转,从而产生巨大的混乱。有什么更好的方法可以做到这一点?
答案1
要么指定更精确的 glob 模式,要么将不同的轮换计划日志放入单独的目录中。Logrotate 的配置语言非常非常有限。
答案2
您必须确保日志名称扩展不相互包含。
我首先会尝试重命名 access_log_*.log,也许是 access_log_*.txt(或者只是删除后缀)或将它们放入不同的目录中。
不要忘记,您可以提供一个日志列表供 logrotate 采取行动,而不是使用正则表达式。