Jump to content

Recommended Posts

Posted

первый скрипт

#!/bin/sh

 

######################DEN################################

 

#4Mbit/s

ipfw pipe 11 config bw 4096Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 12 config bw 4096Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#6Mbit/s

ipfw pipe 13 config bw 6144Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 14 config bw 6144Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#3Mbit/s

ipfw pipe 19 config bw 3072Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 20 config bw 3072Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#5Mbit/s

ipfw pipe 5 config bw 5120Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 6 config bw 5120Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

ifconfig fxp0 down

ifconfig fxp1 down

 

ifconfig fxp0 up

ifconfig fxp1 up

 

Второй скрипт

#!/bin/sh

 

#############################NOCH#####################

 

 

#4Mbit/s

ipfw pipe 11 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 12 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#6Mbit/s

ipfw pipe 13 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 14 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#3Mbit/s

ipfw pipe 19 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 20 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

#5Mbit/s

ipfw pipe 5 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

ipfw pipe 6 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

ifconfig fxp0 down

ifconfig fxp1 down

 

ifconfig fxp0 up

ifconfig fxp1 up

 

В кронтабе как только не прописывал незапускает и все... в логах пишет что запускает.. а сам не запускает, ручками когда запускаю все работает...

 

смысл скриптов в том чтоб ночью юзверям запускать вместо простого тарифа 20ку а утром все возврашять на место...

 

####POVISHAEM SKOROST NA NOCH#######

32 9 * * * /bin/sh root sudo /root/.WORK/noch.sh

########PONIZHAEM NA UTRO#######

43 1 * * * /bin/sh root sudo /root/.WORK/den.sh

Posted

у вас ipfw нет PATH

 

замените ipfw на /sbin/ipfw

 

а лучше даже так:

 

#!/bin/sh

fwcmd="/sbin/ipfw -q"

#4Mbit/s
${fwcmd} pipe 11 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff
${fwcmd} pipe 12 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

Posted

у вас ipfw нет PATH

 

замените ipfw на /sbin/ipfw

 

а лучше даже так:

 

#!/bin/sh

 

fwcmd="/sbin/ipfw -q"

 

#4Mbit/s

${fwcmd} pipe 11 config bw 20480Kbit/s queue "100 KBytes" mask dst-ip 0xffffffff

${fwcmd} pipe 12 config bw 20480Kbit/s queue "100 KBytes" mask src-ip 0xffffffff

 

в скрипте поменял а в самом кронтабе ничего не нужно менять?

 

Пути к ifconfig и ipfw надо полные писать..

это в кронтабе нужно прописать или в скрипте?

Posted (edited)

Хотелось бы уточнить.

32 9 * * * /bin/sh root sudo /root/.WORK/noch.sh

Если таблица, которая хранится в /etc/crontab, то формат такой:

#minute hour    mday    month   wday    who     command

Т.е. в данном случае

who = /bin/sh ???

 

Если через crontab -e, то имя пользователя не указывается:

#minute hour    mday    month   wday    command

Т.е. сразу после wday идет команда.

/bin/sh root sudo /root/.WORK/noch.sh

Что есть root, что вы его шеллу передаете.

 

Решение.

Если редактируете /etc/crontab:

####POVISHAEM SKOROST NA NOCH#######
32 9 * * * root /root/.WORK/noch.sh
########PONIZHAEM NA UTRO#######
43 1 * * * root /root/.WORK/den.sh 

Только сначала

chmod +x /root/.WORK/noch.sh /root/.WORK/den.sh

 

Если через crontab -e для не рута:

####POVISHAEM SKOROST NA NOCH#######
32 9 * * * /usr/local/bin/sudo /root/.WORK/noch.sh
########PONIZHAEM NA UTRO#######
43 1 * * * /usr/local/bin/sudo /root/.WORK/den.sh 

Ну и соответственно в sudoers настроить, чтобы пароль не спрашивался.

Edited by morom
Posted (edited)

Решение, как бы очевидное, но не совсем надежное. При нештатной ситуации, например, при перегрузке сервера, шейпер не восстановится. Надо либо добавлять стартовые скрипты, либо делать один, запускаемый регулярно, что бы он проврял время суток. Либо и то, и другое.

Edited by vop
Posted

Решение, как бы очевидное, но не совсем надежное. При нештатной ситуации, например, при перегрузке сервера, шейпер не восстановится. Надо либо добавлять стартовые скрипты, либо делать один, запускаемый регулярно, что бы он проврял время суток. Либо и то, и другое.

 

У меня при запуске загружаются правила ipfw, в которые добавлено следующее

chour=`date '+%H'`
# day - 08:00-23:59 - >= 8
if [ ${chour} -ge 8 ]; then
       /bin/sh /etc/day.sh
fi
# night - 00:00-08:00 - < 8
if [ ${chour} -lt 8 ]; then
       /bin/sh /etc/night.sh
fi

Проблема перезагрузки решена.

Posted (edited)

У меня при запуске загружаются правила ipfw, в которые добавлено следующее

chour=`date '+%H'`
# day - 08:00-23:59 - >= 8
if [ ${chour} -ge 8 ]; then
       /bin/sh /etc/day.sh
fi
# night - 00:00-08:00 - < 8
if [ ${chour} -lt 8 ]; then
       /bin/sh /etc/night.sh
fi

Проблема перезагрузки решена.

 

А еще лучше, засунуть выбор времени в единственный скрипт с шейпером, вместо двух на день и ночь, и просто его запустить при старте.

Edited by vop

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.