Изменение шейпов в зависимости от времени суток

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ALF
рядовой
Сообщения: 29
Зарегистрирован: 2007-06-12 9:20:35
Откуда: Киев
Контактная информация:

Изменение шейпов в зависимости от времени суток

Непрочитанное сообщение ALF » 2007-06-12 10:05:45

Собственно сабж...
Есть идея, но не совсем достаточно опыта что бы ее реализовать.
Значит имееться две конторы. Роутер под FreeBSD 6.1 маршрутизация выполнена спомощью IPFW. В будние дни когда работают обе то все сегмент 192.168.1.х
пошейплен 256к, а другой 192.168.5.1 в 64к. Собственно вопрос заключаеться в том как сделать так что бы, допустим, в пятницу в 21 00 файрвол загрузился с новыми правилами и соответственно с новыми ограничениями и открыл бы на 2.х 256к!
Я впринципи догадываюсь что нужно юзать Cron, но как!?
Вот кое что накопал но осталось несколко непонятков...
Вот кусок из моих правил касающеся шейпов:

Код: Выделить всё

####Весь сегмент пошейплен 4мя мбитами
ipfw pipe 1 config bw 4Mbit/s
ipfw add pipe 1 ip from any to 192.168.5.0/24 out
ipfw add pipe 1 ip from 192.168.5.0/24 to any in
####Ограничени скорости на мировой трафик
ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out 
ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
ipfw pipe 20 config mask dst-ip 0xffffffff bw 64Kbit/s
ipfw pipe 21 config mask src-ip 0xffffffff bw 64Kbit/s
####Ограничение на украниский
ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
ipfw pipe 30 config mask dst-ip 0xffffffff bw 128Kbit/s
ipfw pipe 31 config mask src-ip 0xffffffff bw 128Kbit/s
В table2 у меня лежат адреса укр серверов...временами обновляю=)
А в table1 просто перечень IP адресов которым ограничеваеться скорость...
Мне подсказали что если я добавлю в свои правила такой кусок:

Код: Выделить всё

chour=`date '+%H'`
if [ ${chour} -lt 8 ]; then
####Ограничени скорости на мировой трафик
    ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out 
    ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
    ipfw pipe 20 config mask dst-ip 0xffffffff bw 256Kbit/s
    ipfw pipe 21 config mask src-ip 0xffffffff bw 256Kbit/s
####Ограничение на украниский
    ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
    ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
    ipfw pipe 30 config mask dst-ip 0xffffffff bw 512Kbit/s
    ipfw pipe 31 config mask src-ip 0xffffffff bw 512Kbit/s
fi
if [ ${chour} -ge 22 ]; then

####Ограничени скорости на мировой трафик
    ipfw 20 add pipe 20 ip from not "table(2)" to "table(1)" out 
    ipfw 21 add pipe 21 ip from "table(1)" to not "table(2)" in
    ipfw pipe 20 config mask dst-ip 0xffffffff bw 256Kbit/s
    ipfw pipe 21 config mask src-ip 0xffffffff bw 256Kbit/s
####Ограничение на украниский
    ipfw 30 add pipe 30 ip from "table(2)" to "table(1)" out
    ipfw 31 add pipe 31 ip from "table(1)" to "table(2)" in
    ipfw pipe 30 config mask dst-ip 0xffffffff bw 512Kbit/s
    ipfw pipe 31 config mask src-ip 0xffffffff bw 512Kbit/s
fi
И буду перестартовывать првила в 8:01 и в 21:01 то это будет работать...Единственно для меня оставлись непонятынми вот эти строки с условием "[ ${chour} -lt 8 ];" "[ ${chour} -ge 22 ]; " что они значат а именно вот эти части "-lt" "-ge" и почему правила там надо одинаковые...
И как можно от крона получить день недели!? Для условия на выходные=)
Прсто я уже начал копать в этом напрвавлении. Уже много прочитал, но пока увы...
Поделитесь идеями...и не судите строго;-)

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-06-12 10:29:53

http://gazette.linux.ru.net/rus/article ... l[code]-gt больше
if [ "$a" -gt "$b" ]

-lt меньше
if [ "$a" -lt "$b" ][/code]Ещё есть у лиссяры на сайте про sh:
http://www.lissyara.su/?id=1075

По крону:
http://www.codenet.ru/webmast/php/cron.php

+ google
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

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

Непрочитанное сообщение Alex Keda » 2007-06-12 10:53:39

http://www.lissyara.su/?id=1127
второй конфиг
Убей их всех! Бог потом рассортирует...

ALF
рядовой
Сообщения: 29
Зарегистрирован: 2007-06-12 9:20:35
Откуда: Киев
Контактная информация:

Непрочитанное сообщение ALF » 2007-06-12 11:43:21

Спс большое, почитал... обмозговал
Но один вопрос до сиз пор актуальный:
И как можно от крона получить день недели!? Для условия на выходные=)как я представляю что то вроде:

Код: Выделить всё

if [<незвестное мне что-то=)> == Mon]; then
      <кусок из правил>
fi

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

Непрочитанное сообщение Alex Keda » 2007-06-12 11:59:54

Код: Выделить всё

man date
если мне не изменяет память.
тока это тебе надо не от крона, а от шелла, если я правильно понимаю ход решения задачи.
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-06-12 17:35:55

lissyara писал(а):

Код: Выделить всё

man date
тока это тебе надо не от крона, а от шелла, если я правильно понимаю ход решения задачи.
Та да тупанул.... :oops:
Блин чет не очень получаеться=(

ALF
рядовой
Сообщения: 29
Зарегистрирован: 2007-06-12 9:20:35
Откуда: Киев
Контактная информация:

Непрочитанное сообщение ALF » 2007-06-12 17:37:18

Это я был... Думал что запомнило=)

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

Непрочитанное сообщение Alex Keda » 2007-06-12 17:42:02

хе - навскидку я тоже не скажу, у меня не было такой задачи (тем более - что крон сам умеет день недели - man crontab - чем я всю жизнь и пользовался).
ну а читать з тебя man date - нет времени...
==========
опять же - "не получается" - показывай как пробовал и что получилось.
Убей их всех! Бог потом рассортирует...

ALF
рядовой
Сообщения: 29
Зарегистрирован: 2007-06-12 9:20:35
Откуда: Киев
Контактная информация:

Непрочитанное сообщение ALF » 2007-06-12 18:26:05

Мля я болван!
Наконецто....

Код: Выделить всё

date +%A
От блин... Вот ток вопрос как прально в шеле сравнение сделать :oops:

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

Непрочитанное сообщение Alex Keda » 2007-06-12 19:06:18

dikens3 писал(а): http://www.lissyara.su/?id=1075
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-06-12 22:53:01

Твой верхний пост о чём мне должен сказать?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

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

Непрочитанное сообщение Alex Keda » 2007-06-12 23:16:54

dikens3 писал(а):Твой верхний пост о чём мне должен сказать?
чей? тредстартера или мой?
Если мой - то не тебе, а автору топика - где искать про сравнение...
Убей их всех! Бог потом рассортирует...