Подсчёт трафика по Лиссяриному

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Подсчёт трафика по Лиссяриному

Непрочитанное сообщение lev » 2007-04-16 20:59:02

#!/bin/sh

# Временный файл
tmp_file="/tmp/trafd.traffic.$$.tmp"

# внешний ip машины
external_IP="`/sbin/ifconfig ed0 | grep inet | awk '{print $2}'`"

# Сегодяшний день
day="`date +%Y-%m-%d`"
# Текущий год
year="`date +%Y`"
# Текущий месяц
month="`date +%m`"
# Текущее время (секунды специально сделаны 00 - иногда cron запускает скрипт не
# в 00 секунд а позже (максимум что я видел - в 13), если машина очень загружена -
# как итог в логах начинает фигурировать разное число секунд.
# Мне это непонравилось :)
curr_time="`date +%H:%M:00`"
# Директория в которой будут храниться текстовые файлы с логами trafd
NewDir="/var/traffic/${year}/${month}"
# Пытаемся создать эту самую директорию на случай если это первый запуск
# или произошла смена месяца (года)
mkdir -p ${NewDir}
# Ну и топаем туда
cd ${NewDir}

# Считываем все переменные из файла /etc/rc.conf с целью извлечь оттуда
# строчку с названиями интерфейсов по которым работает trafd
# (У меня три сетевых платы и lo0 - просто интереса ради)
. /etc/rc.conf

# Для всех интерфейсов выковырнутых из rc.conf (висят в ${trafd_ifaces})
# выполняем один и тот же набор действий по разбору логов и запихиванию
# их в базу данных
for iface in ${trafd_ifaces}
do
# Сохраняем статистику по текущему интерфейсу
/usr/local/bin/trafsave ${iface}
# Преобразуем логи из двоичного в текстовый формат. Сохраняются они в
# папке /tmp в виде файлов summary.* c расширением по имени интерфейса
/usr/local/bin/traflog -i ${iface} -a -n -s > /tmp/summary.${iface} 2>/dev/null
# Очищаем файл с логами в двоичном формате
cat /dev/null > /usr/local/var/trafd/trafd.${iface}
# Дозаписываем логи в текстовый файл (пусть лежат на всякий случай...)
cat /tmp/summary.${iface} >> ${NewDir}/summary.${iface}

# проверяем интерфейс. Нам интересен лишь ed0
if [ ${iface} = 'ed0' ]
then
# Считаем траффик от нас. Считаем за весь месяц, кладём во временный
# файл - из него будет выводиться при логине - когда su делаешь
cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep "^${external_IP}"| awk '
BEGIN { d=0 }
{
# Суммируем 6-й столбец на вводе - траффик
d=$6+d
}
END {
printf " %s \n",d
} ' > ${tmp_file}
read bytes_out < ${tmp_file}

# Считаем траффик от нас. Считаем за весь месяц, кладём во временный
# файл - из него будет выводиться при логине - когда su делаешь
cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep -v "^${external_IP}"| awk '
BEGIN { d=0 }
{
# Суммируем 6-й столбец на вводе - траффик
d=$6+d
}
END {
printf " %s \n",d
} ' > ${tmp_file}
read bytes_in < ${tmp_file}

# заносим траффик во временный файл - будет выводиться на экран при логоне
# но вначале пересчитываем из байт в мегабаты.

echo " Траффик за этот месяц (пересчитывается каждые 10 минут):
Входящий: `expr ${bytes_in} / 1048576` Mb
Исходящий: `expr ${bytes_out} / 1048576` Mb" > /usr/local/var/trafd/tmp_data.txt

#echo ${bytes_in} ${bytes_out}
fi

done

# удаляем временный файл
rm ${tmp_file}

скрипт подсчёт траффика - используется на test.lissyara.su. Кроном - раз в 10 минут...






Лис а скажи могу я пристроить твой скрипт к своей фре?
У меня две сетевухи.
Одна в инет другая в лан.
И тогда не надо САРГа.
А скажи чё еще надо? и где я буду видеть этот отчёт.

И мне показалось что в твоём скрипте повторяется дважды одно и тоже/ Confused

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-16 21:01:06

пристроить можно что угодно и куда угодно :)
отчёт сохраняется в этом файле
/usr/local/var/trafd/tmp_data.txt
для работы нужен nhfal и не будешь видеть статистики по юзерам - это очень узкоспециализированный скрипт....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Непрочитанное сообщение lev » 2007-04-16 21:11:08

По юзерам у меня сарг работает/
А увидеть весь входящий за каждый месяц трафик-это моя задача номер один
nhfal-это кто такой и где его и как его :twisted: :twisted:
Лис научи :roll:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-16 21:40:29

ну так прикручивай...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-16 21:41:11

trafd :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Непрочитанное сообщение lev » 2007-04-16 21:43:45

Лис ты не ответил насчет того что там в скрипте два раза одно и тоже :?

Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Непрочитанное сообщение lev » 2007-04-16 21:46:27

И ещё не сказал что это "nhfal"/
В системе такого не нащёл/

Аватара пользователя
serge
майор
Сообщения: 2133
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2007-04-16 22:15:11

:D
Посмотри на клавиатуре какие русские буквы рядом с этими и поймешь :lol:

Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Непрочитанное сообщение lev » 2007-04-16 22:22:44

Kbc ibahetcz :cry:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-16 22:32:14

а подумать?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
lev
мл. сержант
Сообщения: 143
Зарегистрирован: 2006-10-25 21:01:59
Откуда: Питер

Непрочитанное сообщение lev » 2007-04-16 23:03:11

Упарился маленько однако :twisted:
Трафд поставил/ но дальше чё ????? пойду посплю /может завтра буду свежее
Спасибо за помощь :P