如何从 /var/log/syslog (rsyslog.conf/Debian) 过滤 mail.info,同时保留大于或等于 mail.warn 的消息?
我已经尝试了附加和前置不同组合的几乎所有不同变体mail, mail.info, mail.!info, mail.*, mail.warn, mail.!warn
,但显然文档比我更聪明。
目前我正在这样做,但可惜的是,她不行:
*.*;auth,authpriv.none;mail.warn,mail.!info -/var/log/syslog
Run Code Online (Sandbox Code Playgroud)
编辑:我很难理解分号分隔符以及它如何“限制”以前的条目。
从man rsyslog.conf
页面:
Rsyslogd 对原始 BSD 源代码进行了语法扩展,这使得它的使用更加直观。您可以在每个优先级前面加上等号 (
=
),以仅指定该单个优先级,而不指定上述任何优先级。您还可以(两者都有效)在优先级前面加上感叹号 (!
) 以忽略所有优先级,要么精确指定这个优先级,要么精确指定这个优先级和任何更高的优先级。如果您使用这两个扩展名,那么感叹号必须出现在等号之前,只需直观地使用它即可。
因此mail.!info
意味着您忽略了info
优先级和任何更高的优先级。尝试这个:
*.*;auth,authpriv.none;mail.warn,mail.!=info -/var/log/syslog
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1754 次 |
最近记录: |