在我的邮件服务器上,我有一个自定义的日志检查规则如下,旨在过滤来自传递的消息:
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ deliver\.*\): msgid=.*: saved mail to.*$
不幸的是,如果 Message-Id 中有非拉丁字符,则 msgid=.* 通配符不匹配,因此如下行会通过过滤器:
May 10 19:43:20 zapp deliver(matt): msgid=<20110510064307.3702.qmail@ÇöÀÌ01>: saved mail to spam
Logcheck 内部使用 egrep,我找不到任何方法让句点字符包含非拉丁字符。有什么想法吗?
答案1
我认为您的问题不是语言环境字符。对我来说,部分deliver\.*\):
似乎不对,并且不匹配deliver(matt)
。请尝试使用deliver[^:]+:
。