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

Нужна помощь с поиском журнала postfix

Я пытаюсь найти неизвестную строку (идентификатор сообщения) в журнале на основе известной строки (адрес получателя), а затем выполнить поиск неизвестной строки с помощью команды grep для вывода всей соответствующей информации журнала. Я могу использовать grep и cut для вывода неизвестной строки (строк), но оттуда я в тупике, передав это в grep. Я использовал канал для xargs grep, и он не дает того результата, который я ищу. Вот команда, которую я использую для grep и cut:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6

Это производит вывод всех неизвестных строк для сообщений, обработанных Postfix для адреса электронной почты. Когда я подключаюсь к xargs, я получаю «grep:: Нет такого файла или каталога:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | xargs grep /var/log/maillog

Спасибо за вашу помощь.

Я немного поигрался со своими почтовыми журналами. Пытаться

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog

В -f - прочитает список строк для поиска из стандартного ввода.

Я написал сценарий perl, который позволяет вам получать любую информацию из журнала, которую вы хотите, и печатать все строки с одним и тем же идентификатором очереди (с одним проходом через файл и без ограничения размера файла):

https://github.com/brablc/postfix-tools/blob/master/pflogrep