| Учётная система работает на основе утилиты pmacctd. Утилита записывает весь, проходящий через интерфес трафик и скидывает в лог-файл. После этого скрипты сортируют получившийся дамп по адресам клиентов, разделяет по дням недели и месяцам, а так же создают бекап дампа. Адреса клиентов система берёт из основного конфига прокси-сервера. Скрипт запуска, останова и считывания адресов клиентов системы учета Отрабатывает с параметром start при старте системы и параметром stop, #!/bin/sh ## Глобальные переменные ### Проверяем наличие исполняемого файла демона. Если отсутствует, завершаем работу. ### Функция останова. ### Функция старта. ### Меню выбора используемой функции из первого аргумента после скрипта. exit 0 Скрипт скидывания ежедневной статистики Запуск скрипта прописан в файле /etc/crontab: 01 4 * * * root /usr/sbin/pmacctdaily Он отрабатывает автоматически каждый день в 04:01:00 по времени сервера. #!/bin/bash ## Конфигурационная директория ## Вычисление пользовательских ip-адреса. ## Останов учётной системы для того, чтобы она не обращалась к логам во время работы с ними данного скрипта. ## Пока в памяти лежат пользовательские ip-адреса, обработать каждый из них по-очереди. ##### Архивируем общий лог и сохраняем его в директорию с файлами статистики пользователей за сутки. В общей сложности при нынешней нагрузке скрипт отрабоатывает примерно за Скрипт скидывания ежемесячной статистики Запуск скрипта прописан в файле /etc/crontab: 01 5 1 * * root /usr/sbin/pmacctdmonthly Он отрабатывает автоматически каждый первый день месяца в 05:01:00 по #!/bin/bash ### Конфигурационная директория ## Так как скрипт выполняется первого числа, а нам надо сделать статистику за предыдущий месяц, делаем проверку, не первое ли сегодня января и присваиваем переменным месяца и года нужные нам значения. fi ## Так как номера некоторых части месяцев выглядят как 01,02,..09, а части 10,11,12, надо это учитывать при расчётах. ## Создаём директорию вида ммгггг для хранения статистики за месяц. #### Суммируем статистику из временной директории на каждого пользователся, for nn in $USERNAME В итоге в Лог-директории мы получаем каталог с номером прошедшего месяца | |
| Категория: Интересные статьи | Просмотров: 351 | |
Главная » Подсчёт трафика в Linux с помощью pmacctd.