|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Usachov 2:5070/717.44 08 Aug 2003 00:18:54 To : Artem Chuprina Subject : Re: Maillog Parsing -------------------------------------------------------------------------------- 07 Aug 03 10:28, you wrote to me: DU>> Как вытащить из лога Sendmail'а сколько (Mb), за какой период и на DU>> какого пользователя пришло? DU>> Что-то вроде этого: DU>> ------------------------------------ DU>> From Jul 20 04:02:36 to Jul 27 04:02:04 DU>> user1 user1@mail.server.ru 1613 DU>> user2 user2@mail.server.ru 5001092 DU>> user3 user3@mail.server.ru 6788 DU>> user4 user4@mail.server.ru 1325 DU>> ................... и т.д. ..... AC> Тут даже не совсем в перле дело. У сендмейла нужная тебе информация по AC> каждому письму содержится более чем в одной строке лога. Объединяются AC> они идентификатором письма в очереди. Идентификаторы могут AC> переиспользоваться. Поэтому общий принцип такой: заводится, помимо AC> результирующего хэша, ключ которого - имя юзера, хэш для недочитанной AC> информации, ключ которого - идентификатор очереди. Когда встречается AC> строка с size=, оттуда выкусывается этот самый size и идентификатор AC> очереди, и делается $queue{$id} = $size. Когда встречается строка с to=, AC> выкусывается to и идентификатор, и если to - локальный, делается AC> $result{$to} += $queue{$id}. После чего в любом случае delete AC> $queue{$id}. Остальное - базовые скиллы в перле, и если ты хочешь, чтобы AC> тебе их написали, давай денег... Большое спасибо за 1) Объяснение структуры лога Сендмэйла. 2) Идею реализации САБЖа, только я уже нашел на CPAN'e модуль SyslogScan. Там есть скрипт read_mail_log.pl. Думаю, что этого вполне достаточно. И ЕЩЕ РАЗ СПАСИБО. Dmitry --- UnixWare blackhole 5 7.1.0 i386 x86at SCO UNIX_SVR5 * Origin: GNU's Not UNIX (2:5070/717.44) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/39783f32ef6c.html, оценка из 5, голосов 10
|