Re: Список адресов

От: avp <CGatePro_at_mx_ru>
Дата: Wed 20 May 2009 - 10:03:04 MSD

Большое человеческое спасибо за ответ но в моих логах CommuniGate Pro версии 4.2 "Submit from" отсутствует , может формат логов другой или уровень логирования стоит такой?

Nazarkin Andrew пишет:
> Ну вот я тут на левой коленке налабал скоренько (сорри за кривость и раздутость скрипта, очень времени мало):
>
> #!/bin/bash
> grep "Submit from: su@mrglife.ru" /var/CommuniGate/SystemLogs/2009-05-19.log | awk '{print $3}' | cut --complement -b '12-24' > /tmp/submit
> rm -f /tmp/submit1
> while read string ; do
> grep $string /var/CommuniGate/SystemLogs/2009-05-19.log | grep "Submit to: " | awk '{print $1,$6}'>> /tmp/submit1
> done < /tmp/submit
> Результатом данного скрипта является:
>
> cat /tmp/submit1
> 09:50:14.169 nanovsky@mrggroup.ru
> 10:52:39.630 phone@mrglife.ru
> 10:58:30.641 pushin@mrggroup.ru
> 11:24:47.234 pushin@mrggroup.ru
> 11:25:18.164 vidanov@mrgarant.ru
> 11:25:18.204 kozlov@mrglife.ru
> 11:26:23.314 su@mrggroup.ru
> 11:42:42.157 nanovsky@mrggroup.ru
> 11:55:55.655 kostikova@mrggroup.ru
> 12:50:20.085 nanovsky@mrggroup.ru
> 12:56:53.724 nanovsky@mrggroup.ru
>
> Т.е. все, кому я отправлял письма за 19 мая 09 года.
> В принципе видите повторяющиеся поля, если я этому человеку отправлял не один раз. Можно дописать скрипт и отсечь совпадения, если не нужны подробности "во сколько отправлял".
>
> Небольшой разбор скрипта:
>
> grep "Submit from: su@mrglife.ru" /var/CommuniGate/SystemLogs/2009-05-19.log - вычленяем все записи данного отправителя за 19 число. Получаются записи вида: " 09:50:14.129 4 IMAP-019365([10.10.5.1]) Submit from: su@mrglife.ru"
>
> awk '{print $3}' - нас интересует только третий столбец (у меня IMAP, у себя можете поправить, если не так). Получаются записи вида IMAP-019365([10.10.5.1]).
> cut --complement -b '12-24' - убираем лишние символы ([10.10.5.1]) - получаются записи вида IMAP-019365. Вот тут надо осторожно посчитать, какие именно символы убирать (у меня с 12 по 24), дабы не стереть лишнего :)
>
> вывод перенаправляем в файл /tmp/submit
>
> rm -f /tmp/submit1 - стираем на всякий случай, если есть /tmp/submit1
>
> while read string ; do - считываем построчно записи из файла /tmp/submit1...
>
> grep $string /var/CommuniGate/SystemLogs/2009-05-19.log и отсеиваем по совпадению лог-файл...
>
> grep "Submit to: " - отсеиваем дополнительно только поля, куда отправлял
>
> awk '{print $1,$6}' - нас интересуют только первый столбец (время отправки) и шестой - куда отправлял.
>
> Собственно, все.
>
>
>
> Назаркин Андрей Николаевич
> Mezhregiongarant.
> MRG LIFE
> CIO
>
>
Получено Wed May 20 06:03:13 2009

Этот архив был сгенерирован hypermail 2.1.8 : Wed 20 May 2009 - 12:15:56 MSD