Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-20 19:40:35
Приветствую. Проблема в следующем - есть несколько игровых серверов и постоянно падают. решил написать скриптик проверки и запихнуть в крон. Но сама проблема в том, что если выполнять скрипт просто так - все работает нормально, а через крон скрипту кажется, что процессво всегда ноль и он дергает все игровые серваки.
Код: Выделить всё
#!/bin/sh
summ_of_proc=`/usr/bin/su -m css_user -c "/bin/ps -aux | /usr/bin/grep 27015 | /usr/bin/grep -v grep | /usr/bin/grep -v root| /usr/bin/grep srcds_amd | /usr/bin/wc -l"`
game_dir="/usr/games/css_user"
start_script="server"
if [ $summ_of_proc -le 1 ]
then
echo "Server is down"
${game_dir}/${start_script} stop
sleep 5
${game_dir}/${start_script} start
echo "Server restart complete"
else
if [ $summ_of_proc -ge 2 ]
then
echo "Server is online"
fi
fi
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Хостинг HostFood.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
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-20 20:21:19
подсказка: а вы сделайте окошко где испытываете скрипт минимальной ширины - и даже руками он начнёт дёргать
)
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-20 21:26:47
Эм, не совсем понял. Нужно строку с грепами разбить переносами строк ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-21 10:39:16
ширина системной консоли, в кроне - какая?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-21 19:16:19
не знаю. = (
Сделал вот так, но эффект тот же:
Код: Выделить всё
#!/bin/sh
summ_of_proc=`/usr/bin/su -m css_user \
-c "/bin/ps -aux \
| /usr/bin/grep 27015 \
| /usr/bin/grep -v grep \
| /usr/bin/grep -v root \
| /usr/bin/grep srcds_amd \
| /usr/bin/wc -l"`
game_dir="/usr/games/css_user"
start_script="server"
if [ $summ_of_proc -le 1 ]
then
echo "Server is down"
${game_dir}/${start_script} stop
sleep 5
${game_dir}/${start_script} start
echo "Server restart complete"
else
if [ $summ_of_proc -ge 2 ]
then
echo "Server is online"
fi
fi
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-21 20:09:07
lissyara писал(а):ширина системной консоли, в кроне - какая?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-21 21:05:19
не знаю, подскажите как посмотреть ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-21 22:36:08
Pez! писал(а):не знаю, подскажите как посмотреть ?
даже если подскажу, похоже вам это не поможет =((
но в партизана буду играть до конца
===========
вы окно до минимальных размеров делали? скрипт свой в нём запускали?
каков результат? какие выводы?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-21 22:46:12
Сделал минимальный размер какой смог, запустил скрипт и был очень удивлен.....
Придется пытать партизанов ) Подскажите хоть где искать решение - гугель по запросу "ширина системной консоли" какой-то бред выдает.
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-22 1:01:38
решил так
Код: Выделить всё
#!/bin/sh
p=`ps -U css_user | grep srcds_amd | wc -l`
game_dir="/usr/games/css_user"
start_script="server"
if [ ${p} -le 1 ]
then
echo "Server is down"
${game_dir}/${start_script} stop
${game_dir}/${start_script} start
echo "Server restart complete"
else
if [ ${p} -ge 2 ]
then
echo "Server is online"
fi
fi
Но все же расскажите, пожалуйста, почему предыдущий вариант не работал корректно ?
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-22 15:06:58
в некоторых условиях и это вариант будет работать неверно
)
но ход мысли уже пошёл в нужную область.
==========
запустите скрипт с отладкой в окне на весь экран и не на весь, и найдите одно, кардинальное отличие.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-23 17:31:04
Ну как я понял - есть ограничение на длинну команды и если больше какого-то значения (судя по намекам ширины системной консоли) то команда обрезается и выдает не верный результат, но никак не могу найти чемуже равна эта ширина )
подскажите как найти-то ? = )
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-02-23 21:45:49
ALT+F2
веди символы и посчитай - сколько в строку влезло
=======
а вообще мне надоело.
прочти
и заюзай чёнить типа
чтобы всегда выводилась полная команда, независимо от размера терминала.
=====
дочего же все ленивые =((
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Pez!
- старшина
- Сообщения: 436
- Зарегистрирован: 2008-01-13 20:02:24
- Откуда: москва матушка
Непрочитанное сообщение
Pez! » 2010-02-23 23:39:27
Спасибо, теперь почти разобрался.
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.
Pez!