我有一个 logrotate.d 配置文件,看起来像这样:
/home/myapp/log/* {
daily
compress
dateext
ifempty
delaycompress
olddir /home/myapp/baklog
}
Run Code Online (Sandbox Code Playgroud)
我想在一些特定的日志文件中应用其他规则,例如“邮件”。如何仅对某些文件应用其他规则?
如果我在上面添加另一个与附加文件匹配的规则(例如/home/myapp/log/warning.log { ... },我收到类似error: /etc/logrotate.d/myapp:3 duplicate log entry for /home/myapp/log/warning.log.
如何指定以重叠方式匹配特定文件的多个规则?
在大多数发行版中,您不能这样做。
看起来 Debian 中做出了一个决定,允许覆盖特定文件的规则是不好的,因为软件包安装错误地安装重复规则变得很常见,并且 logrotate 维护者希望将其标记为错误。
因此,无论如何,无论是使用更具体的通配符(log/[a-hj-z]*而不是log/*)以便一般规则不会应用于异常日志文件,还是通过更改应用程序配置以将异常日志文件放在不同的目录中,您必须解决这个问题,这样就不会有多个规则针对同一日志文件。
| 归档时间: |
|
| 查看次数: |
5482 次 |
| 最近记录: |