The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Скипт для подсчета общего трафика за день, !*! ReSet, 03-Июл-06, 12:16  [смотреть все]
Есть Squid+Sarg.

Каждый день по средствам cron выполняется:

52 22 * * * root /usr/local/sbin/squid -k rotate
59 22 * * * root /usr/local/bin/sarg

Т.е. сдвиг логов и построение по только полученному access.log.0 дневного отчета.

Squid настроен так что список пользователей допущенных в Интернет берет в файлах ipaccess и limaccess.

Хотелось бы написать скрипт, запускаемый каждые 15 минут, который бы суммировал трафик текущего дня из файла access.log и если тот превышал 200 Мб, делал бы файлы ipaccess и limaccess пустыми и реконфигурировал squid.
Помогите плиз.

Формат лога сквида:

time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type


  • Скипт для подсчета общего трафика за день, !*! ipmanyak, 16:17 , 03-Июл-06 (1)
    >Есть Squid+Sarg.
    >
    >Каждый день по средствам cron выполняется:
    >
    >52 22 * * * root /usr/local/sbin/squid -k rotate
    >59 22 * * * root /usr/local/bin/sarg
    >
    >Т.е. сдвиг логов и построение по только полученному access.log.0 дневного отчета.
    >
    >Squid настроен так что список пользователей допущенных в Интернет берет в файлах
    >ipaccess и limaccess.
    >
    >Хотелось бы написать скрипт, запускаемый каждые 15 минут, который бы суммировал трафик
    >текущего дня из файла access.log и если тот превышал 200 Мб,
    >делал бы файлы ipaccess и limaccess пустыми и реконфигурировал squid.
    >Помогите плиз.
    >
    >Формат лога сквида:
    >
    >time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type
    1 - натрави конфиг сарга  на  access.log.0
    2  - в конфиге сарга укажи
    per_user_limit /usr/local/squid/etc/prelimit_users 200
    в этом файле будут айпишники чем лимит превысил 200мег
    3 - в конфиге сквида создай аксель
    acl prelimit  src  "/usr/local/squid/etc/prelimit_users"
    http_access deny prelimit
    4 - ну и по крону   через нужный интервал squid -k rotate  и запуск сарга спустя минуту-две  после ротации

    • Скипт для подсчета общего трафика за день, !*! ReSet, 11:33 , 04-Июл-06 (3)
      >1 - натрави конфиг сарга  на  access.log.0

      Так оно и зделано

      >2  - в конфиге сарга укажи
      >per_user_limit /usr/local/squid/etc/prelimit_users 200
      >в этом файле будут айпишники чем лимит превысил 200мег

      Мне нужен общий трафик, а не по каждому пользователю отдельно: перебрали, значит отключаем всех

      >4 - ну и по крону   через нужный интервал squid
      >-k rotate  и запуск сарга спустя минуту-две  после ротации

      А как быть с дневным разбором лога? Его тоже желательно бы оставить.

      Не легче ли написать скрипт, который читает файл access.log и выбирает из каждой его строки 5ое поле и в цикле суммирует эти поля? Меня интересует именно чтение файла и выбор из строки 5ого поля.

  • Скипт для подсчета общего трафика за день, !*! s2, 16:21 , 03-Июл-06 (2)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру