Вот такой код я использую, чтобы вести учет статистики для PPP соединений в MySQL.
Этот код помещается в скрипт /etc/ppp/ip-down.
Используются переменные окружения, устанавливаемые pppd.#!/bin/sh
#
echo "INSERT INTO pppdstats VALUES ( `date +%Y%m%d`, `date +\'%T\'
-d\"-${CONNECT_TIME} sec\" ` , '$PEERNAME', '$IPREMOTE',
'$CONNECT_TIME', '$BYTES_SENT', '$BYTES_RCVD', '$DEVICE', `date
+\'%T\'`);" | mysql -uuser -ppassword database
Формат таблицы:CREATE TABLE pppdstats (
c_date date,
c_start_time time,
user varchar(128),
ip_addr varchar(15),
online_time int(11),
send_bytes int(11),
recv_bytes int(11),
device varchar(15),
c_end_time time
);PS: Естественно, что изменив перенаправление можно записывать статистику в обычный текстовый файл.
URL:
Обсуждается: http://www.opennet.me/tips/info/991.shtml
толково.
Как раз вовремя %)
тока мне не в SQL а просто в лог файл отдельный... :)
Уже давно это использую. Сам допёр :-)
Криво! ИМХО если юзверь долго сидит в инете и не вырубает его, скажем пару суток, есть вероятнасть потерять много трафа в статистике!!! при форс мажоре (зависание сервера, непредвиденый ребут, сбой демона)!!!!!!
если вы могли подумать, что это решение для провайдеров, вы не дружите с /dev/head
В pppd давненько уже входит radius плагин он много больше позволяет и гараздо удобнее этого костыля.
я по моему данный код и не позиционировал как замену радиусу и как решение для билинга :D просто в моем конкретном случае - такого "костыля" хватает с головой. думаю я не одинок.
Если не заменить здесь IPREMOTE на IPLOCAL, то в таблицу будут попадать не ваш IP а default route, выделяемый провайдером вам адрес шлюза.>Этот код помещается в скрипт /etc/ppp/ip-down.
>Используются переменные окружения, устанавливаемые pppd.
>
>#!/bin/sh
>#
>echo "INSERT INTO pppdstats VALUES ( `date +%Y%m%d`, `date +\'%T\'
>-d\"-${CONNECT_TIME} sec\" ` , '$PEERNAME', '$IPREMOTE',
>'$CONNECT_TIME', '$BYTES_SENT', '$BYTES_RCVD', '$DEVICE', `date
>+\'%T\'`);" | mysql -uuser -ppassword database
эээ... это для клиента. этот скрипт работает у меня на сервере. и работает для системы типа "банк-клиент" поэтому мне надо фиксировать именно IPREMOTE - тот адрес, который выделяется клиенту.
Я имел ввиду не провайдинг, а тот же подсчет трафа в маленькой сети 50-100 машин ходящеи в инет по VPN (PPTP), там не нужны серьезные решения, но и такие ляпы тоже не нужны (собсно комент для зеленых, которые наткнулись на ссылку и решили что это то что решит все их проблемы)
впринципе - коммент правомерный. надо было уточнить условия использования.
Меня заинтересовала эта статья,
обизательно ее реализую, но
мне не понятно каким параметром
передавать мускль скорость соединения.Отпиши если знаеш, будь добр!!!
Зарание благодарен.
Да в скорости всё равно 115200 будет написано... ИМХО
Автору РЕСПЕКТ, не обращай внимания на зануд которые только и умеют что критиковать.