скрипт загрузки
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
скрипт загрузки
Ребят вот думаю можно ли зделать скрипт каторый бы не по крону азапустился и весел как демон сматрел нагрузку и когда нагрузка достегала например лоад авгри 4 он запускал команду определённую а когда снижалась до 0.50 то запускал другую каманду...прошу помочь в данном вопросе...загрузку шоб грепал по top...
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: скрипт загрузки
Ну скриптамми это конечно не делается. Но, как вариант - бесконечный цикл while (true) ,sleep, awkwarzoni писал(а):Ребят вот думаю можно ли зделать скрипт каторый бы не по крону азапустился и весел как демон сматрел нагрузку и когда нагрузка достегала например лоад авгри 4 он запускал команду определённую а когда снижалась до 0.50 то запускал другую каманду...прошу помочь в данном вопросе...загрузку шоб грепал по top...

-
- сержант
- Сообщения: 282
- Зарегистрирован: 2009-05-28 14:36:50
- Откуда: Кишинев
Re: скрипт загрузки
/usr/ports/sysutil/monit - за нагрузкой умеет следить штатно. Смотри примеры конфигурации - там много интересного.
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
Re: скрипт загрузки
reLax писал(а):Ну скриптамми это конечно не делается. Но, как вариант - бесконечный цикл while (true) ,sleep, awkwarzoni писал(а):Ребят вот думаю можно ли зделать скрипт каторый бы не по крону азапустился и весел как демон сматрел нагрузку и когда нагрузка достегала например лоад авгри 4 он запускал команду определённую а когда снижалась до 0.50 то запускал другую каманду...прошу помочь в данном вопросе...загрузку шоб грепал по top...
а если по крону то не мог бы ты стрябать какой нить каторывй раз в минуту делал бы монеторинг.
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
Re: скрипт загрузки
я посматрю но мне нужен скрипт всётакиsch писал(а):/usr/ports/sysutil/monit - за нагрузкой умеет следить штатно. Смотри примеры конфигурации - там много интересного.

-
- сержант
- Сообщения: 282
- Зарегистрирован: 2009-05-28 14:36:50
- Откуда: Кишинев
Re: скрипт загрузки
Да на здоровье - хоть всю ОС самостоятельно переписывай
Вот простой пример -- есть в monitrc.sample.
После установки порта в share/doc/monit есть examples.html -- там гораздо больше и интереснее примеры.
в качестве реакции на выполнение условия можно использовать команду exec "/your/script/here.sh"

Вот простой пример -- есть в monitrc.sample.
После установки порта в share/doc/monit есть examples.html -- там гораздо больше и интереснее примеры.
Код: Выделить всё
## Check that a process is running, in this case Apache, and that it respond
## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory,
## and number of children. If the process is not running, monit will restart
## it by default. In case the service was restarted very often and the
## problem remains, it is possible to disable monitoring using the TIMEOUT
## statement.
#
# check process apache with pidfile /usr/local/apache/logs/httpd.pid
# start program = "/etc/init.d/httpd start" with timeout 60 seconds
# stop program = "/etc/init.d/httpd stop"
# if cpu > 60% for 2 cycles then alert
# if cpu > 80% for 5 cycles then restart
# if totalmem > 200.0 MB for 5 cycles then restart
# if children > 250 then restart
# if loadavg(5min) greater than 10 for 8 cycles then stop
# if failed host www.tildeslash.com port 80 protocol http
# and request "/monit/doc/next.php"
# then restart
# if failed port 443 type tcpssl protocol http
# with timeout 15 seconds
# then restart
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
Re: скрипт загрузки
я вижу да толк оно самое но я не просто атк скрипт поросил дело втом что linux...я нашол там опдобное но хочу просто скрипт простой понятный..щас буду сматреть.sch писал(а):Да на здоровье - хоть всю ОС самостоятельно переписывай![]()
Вот простой пример -- есть в monitrc.sample.
После установки порта в share/doc/monit есть examples.html -- там гораздо больше и интереснее примеры.
в качестве реакции на выполнение условия можно использовать команду exec "/your/script/here.sh"Код: Выделить всё
## Check that a process is running, in this case Apache, and that it respond ## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory, ## and number of children. If the process is not running, monit will restart ## it by default. In case the service was restarted very often and the ## problem remains, it is possible to disable monitoring using the TIMEOUT ## statement. # # check process apache with pidfile /usr/local/apache/logs/httpd.pid # start program = "/etc/init.d/httpd start" with timeout 60 seconds # stop program = "/etc/init.d/httpd stop" # if cpu > 60% for 2 cycles then alert # if cpu > 80% for 5 cycles then restart # if totalmem > 200.0 MB for 5 cycles then restart # if children > 250 then restart # if loadavg(5min) greater than 10 for 8 cycles then stop # if failed host www.tildeslash.com port 80 protocol http # and request "/monit/doc/next.php" # then restart # if failed port 443 type tcpssl protocol http # with timeout 15 seconds # then restart

-
- рядовой
- Сообщения: 47
- Зарегистрирован: 2008-04-23 15:58:59
- Откуда: Minsk
Re: скрипт загрузки
Есть у меня волшебный скриптик который был написан на скору руку когда прижало, но как то он так прижился, что работает больше 3 лет как часики.warzoni писал(а):Ребят вот думаю можно ли зделать скрипт каторый бы не по крону азапустился и весел как демон сматрел нагрузку и когда нагрузка достегала например лоад авгри 4 он запускал команду определённую а когда снижалась до 0.50 то запускал другую каманду...прошу помочь в данном вопросе...загрузку шоб грепал по top...
запускается по крону раз в 5 минут, в случае если LA больше 10 перезагружает апач.
Код: Выделить всё
#!/bin/sh
LA=`/usr/bin/w -n | /usr/bin/grep ', load averages:' | /usr/bin/awk '{print int($10);}'`
if [ $LA -gt 10 ]
then
if [ ! -f /tmp/restart_lock ]
then
echo "Load average = $LA"
>/tmp/restart_lock
/usr/local/etc/rc.d/apache.sh restart
exit
fi
fi
if [ -f /tmp/restart_lock ]
then
rm -f /tmp/restart_lock
fi
Не спрашивайте, по ком гудит трансформатор, он гудит сам по себе...
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
Re: скрипт загрузки
strmaks писал(а):Есть у меня волшебный скриптик который был написан на скору руку когда прижало, но как то он так прижился, что работает больше 3 лет как часики.warzoni писал(а):Ребят вот думаю можно ли зделать скрипт каторый бы не по крону азапустился и весел как демон сматрел нагрузку и когда нагрузка достегала например лоад авгри 4 он запускал команду определённую а когда снижалась до 0.50 то запускал другую каманду...прошу помочь в данном вопросе...загрузку шоб грепал по top...
запускается по крону раз в 5 минут, в случае если LA больше 10 перезагружает апач.Код: Выделить всё
#!/bin/sh LA=`/usr/bin/w -n | /usr/bin/grep ', load averages:' | /usr/bin/awk '{print int($10);}'` if [ $LA -gt 10 ] then if [ ! -f /tmp/restart_lock ] then echo "Load average = $LA" >/tmp/restart_lock /usr/local/etc/rc.d/apache.sh restart exit fi fi if [ -f /tmp/restart_lock ] then rm -f /tmp/restart_lock fi
можеш зделать так чтобы он больше 2 лоад авгри запускл скрипт ниже двух лоад авгри гдето 1 останавливал!
-
- рядовой
- Сообщения: 47
- Зарегистрирован: 2008-04-23 15:58:59
- Откуда: Minsk
Re: скрипт загрузки
Ну как то вот так...warzoni писал(а):можеш зделать так чтобы он больше 2 лоад авгри запускл скрипт ниже двух лоад авгри гдето 1 останавливал!
Код: Выделить всё
#!/bin/sh
LA=`/usr/bin/w | /bin/grep 'load average:' | /bin/awk '{print int($10)}'`
# Проверяем не больше ли LA чем 2
if [ $LA -gt 2 ]
then
if [ ! -f /tmp/restart_lock ]
then
>/tmp/restart_lock
/usr/local/etc/rc.d/apache.sh start
fi
fi
# Проверяем не меньше ли LA чем 1
if [ $LA -lt 1 ]
then
if [ -f /tmp/restart_lock ]
then
/usr/local/etc/rc.d/apache.sh stop
rm -f /tmp/restart_lock
fi
fi
Не спрашивайте, по ком гудит трансформатор, он гудит сам по себе...
-
- сержант
- Сообщения: 186
- Зарегистрирован: 2008-07-04 17:17:59
- Откуда: Ukraine,Kiev
- Контактная информация:
Re: скрипт загрузки
щас закгрузка 0.80strmaks писал(а):Ну как то вот так...warzoni писал(а):можеш зделать так чтобы он больше 2 лоад авгри запускл скрипт ниже двух лоад авгри гдето 1 останавливал!Код: Выделить всё
#!/bin/sh LA=`/usr/bin/w | /bin/grep 'load average:' | /bin/awk '{print int($10)}'` # Проверяем не больше ли LA чем 2 if [ $LA -gt 2 ] then if [ ! -f /tmp/restart_lock ] then >/tmp/restart_lock /usr/local/etc/rc.d/apache.sh start fi fi # Проверяем не меньше ли LA чем 1 if [ $LA -lt 1 ] then if [ -f /tmp/restart_lock ] then /usr/local/etc/rc.d/apache.sh stop rm -f /tmp/restart_lock fi fi
делаю вместо /usr/local/etc/rc.d/apache.sh stop
echo stop и не чего не высвечиваетца...довай тестанём по кускам система линукс..
Код: Выделить всё
/usr/bin/w | /bin/grep 'load average:'
19:54:57 up 17 days, 23:47, 1 user, load average: 1.09, 1.42, 1.23
-
- рядовой
- Сообщения: 47
- Зарегистрирован: 2008-04-23 15:58:59
- Откуда: Minsk
Re: скрипт загрузки
Логично, для того что бы он сделал stop надо что бы спева выполнился startwarzoni писал(а):
щас закгрузка 0.80
делаю вместо /usr/local/etc/rc.d/apache.sh stop
echo stop и не чего не высвечиваетца...довай тестанём по кускам система линукс..
Код: Выделить всё
/usr/bin/w | /bin/grep 'load average:' 19:54:57 up 17 days, 23:47, 1 user, load average: 1.09, 1.42, 1.23
Не спрашивайте, по ком гудит трансформатор, он гудит сам по себе...