Назад | Перейти на главную страницу

Logcheck: подстановочные знаки, содержащие нелатинские символы

На моем почтовом сервере у меня есть следующее настраиваемое правило проверки журнала, которое предназначено для фильтрации сообщений от доставки:

^\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[^:]+: вместо.