Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Скрипт ограничитель трафика  (Прочитано 2728 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Скрипт ограничитель трафика
« Ответ #15 : 12 Августа 2010, 19:29:25 »
"Все дело в волшебных пузырьках".

Все дело в том, что awk это отдельная программа, совершенно независимая от bash.
$1 во второй  и третьей строчках имеют разное значение.
Во второй строке это первый аргумент командной строки bash
А в третьей строке - это первое поле из текущей разбираемой awk-ом строчки (напомню, четвертое - входящий трафик).

Попробуйте вот что
ifconfig eth0 | awk -v limit=$1 'BEGIN {FS="[ :]+"}/RX bytes/ { print $4; if($4 > limit){ print "Trafic overconsumption!" ; system("ifconfig eth0 down"); }} '
В man awk или в awk --help написано.
« Последнее редактирование: 12 Августа 2010, 19:34:35 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн RQWERQWER

  • Автор темы
  • Активист
  • *
  • Сообщений: 252
    • Просмотр профиля
Re: Скрипт ограничитель трафика
« Ответ #16 : 13 Августа 2010, 14:06:27 »
"Все дело в волшебных пузырьках".

Все дело в том, что awk это отдельная программа, совершенно независимая от bash.
$1 во второй  и третьей строчках имеют разное значение.
Во второй строке это первый аргумент командной строки bash
А в третьей строке - это первое поле из текущей разбираемой awk-ом строчки (напомню, четвертое - входящий трафик).

Попробуйте вот что
ifconfig eth0 | awk -v limit=$1 'BEGIN {FS="[ :]+"}/RX bytes/ { print $4; if($4 > limit){ print "Trafic overconsumption!" ; system("ifconfig eth0 down"); }} '
В man awk или в awk --help написано.

Нет всё равно Trafic overconsumption! при любом количестве байт

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Скрипт ограничитель трафика
« Ответ #17 : 16 Августа 2010, 11:22:57 »
Нет всё равно Trafic overconsumption! при любом количестве байт
А у меня все работает.

$ ifconfig eth0 | awk -v limit=50000000 'BEGIN {FS="[ :]+"} /RX bytes/{ print $4; if($4 > limit){ print "Trafic overconsumption!" } }'
47339437
$ ifconfig eth0 | awk -v limit=5000000 'BEGIN {FS="[ :]+"} /RX bytes/{ print $4; if($4 > limit){ print "Trafic overconsumption!" } }'
47348292
Trafic overconsumption!


Вы, вообще, пытались как-то разобраться, что в скрипте происходит? С результатами этой работы можно ознакомиться?

Да, кстати, "все уже украдено до нас".
Сегодняшний выпуск новостей принес: http://www.ubuntugeek.com/ntm-network-traffic-monitor.html
Все, что нужно, есть, да еще интегрируется с NetworkManager-ом.
« Последнее редактирование: 17 Августа 2010, 10:37:20 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Jack Vong

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Скрипт ограничения исходящего трафика
« Ответ #18 : 26 Августа 2010, 18:09:03 »
Господа, встала задача ограничивать исходящий трафик, да еще интеллектуальным образом. Т.е. Считать сколько трафика ушло в предыдущем месяце, делить это все на количество дней и выдавать дневной лимит в текущем месяце в зависимости от расходов прошлого месяца. Подскажите пожалуйста как и какоими средствами это реализовать (желательно стандартными утилитами +bash).


Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Скрипт ограничитель трафика
« Ответ #20 : 26 Августа 2010, 20:21:51 »
объединил темы, тк задача одна и та же...
2Jack Vong, прочитайте эту тему с начала и пробуйте, что понравится, задавайте вопросы
желательно, после того как что-то сделаете

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.