На моем почтовом сервере у меня есть следующее настраиваемое правило проверки журнала, которое предназначено для фильтрации сообщений от доставки:
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ deliver\.*\): msgid=.*: saved mail to.*$
К сожалению, подстановочный знак msgid =. * Не соответствует, если в Message-Id есть нелатинские символы, поэтому строки, подобные приведенным ниже, проходят через фильтр:
May 10 19:43:20 zapp deliver(matt): msgid=<20110510064307.3702.qmail@ÇöÀÌ01>: saved mail to spam
Logcheck внутренне использует egrep, и я не нашел способа включить в символ точки нелатинские символы. Любые идеи?
Я думаю, ваша проблема не в символах локали. Мне расстаться с deliver\.*\):
кажется неправильным, и это не подходит deliver(matt)
. Попробуйте использовать deliver[^:]+:
вместо.