The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "Руководства по FreeBSD на русском" / Оглавление документа

10.10 Чем можно делать статистику почты sendmail?

Существует некий unlog.

Посмотрите на ftp://ftp.moldsat.md/pub/unix/perl/sendmail-log-analizer

Подобные скрипты есть на www.isp-unix.com

Можно писать и самим по логам, копящимся в файлах /var/log/maillog. Hапример, общее число писем, прошедших через sendmail за отчётный период, считается примерно так:

        zcat /var/log/maillog*z | cat /var/log/maillog - | \
        awk '/sendmail/{print $6}' | sort | uniq | wc -l
     


Евгений Кузаков предложил следующий вариант:

Взял патч Бармина  к сендмаилу где-то тут...
Только он для 8.8.5. прикрутил его для 8.9.3.
компиляешь сендмаила с -DMAILACCT
В итоге сендмаил пишет лог в /var/log/mailacct в формате:

sun.oracle.ru!ru.oracle.com!vchernov    LOCAL!piv       1455    17:54:49
21.09.98
sun.oracle.ru!ru.oracle.com!vchernov    LOCAL!zdg       1455    17:54:49
21.09.98

А потом с тим можно делать что угодно...
Например:

#!/bin/sh
if [ $# -lt 3 ]; then
    echo Usage: $0 maildomain month year
    printf "\tExample: $0 occ.ru 01 98\n\n"
    exit
fi
case "$2" in
    "01") monthname="Январь";;
    "02") monthname="Февраль";;
    "03") monthname="Март";;
    "04") monthname="Апрель";;
    "05") monthname="Май";;
    "06") monthname="Июнь";;
    "07") monthname="Июль";;
    "08") monthname="Август";;
    "09") monthname="Сентябрь";;
    "10") monthname="Октябрь";;
    "11") monthname="Ноябрь";;
    "12") monthname="Декабрь";;
    *)  echo "Ну Вы, барин, даете..."; exit 1;;
esac

domain="$1"
month="$2"
year="$3"

statfile=/var/log/mailacct
#statfile=./mailacct
awk '
BEGIN{
    tos=0
    toc=0
    froms=0
    fromc=0
}
{

if((index($0,domain)!=0)&&(index($5,sprintf("%s.%s",month,year))!=0)){
        if((index($1,domain)!=0)){
            fromc=fromc+1
            froms=froms+$3
        }else{
            toc=toc+1
            tos=tos+$3
        }
    }
}
END {
    printf("Статистика домена %s за %s %s:\n",domain,monthname,year)
    printf("\tпришло почты на домен: %2.0f писем (%0.0f
bytes)\n",toc,tos)
    printf("\tотправлено с домена: %2.0f писем (%0.0f
bytes)\n",fromc,froms)
}' domain=$domain month=$month year=$year < $statfile
monthname=$monthname

Пример:
./mailstat occ.ru 03 99
Статистика домена occ.ru за Март 99:
        пришло почты на домен: 2783 писем (66523770 bytes)
        отправлено с домена: 353 писем (72424444 bytes)

     


Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.


ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Оформить подписку на год


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList