Показать сообщение отдельно
Старый 04.06.2010, 15:10   #1
deadangel
Новичок
 
Аватар для deadangel
 
Регистрация: 28.04.2010
Адрес: Беларусь, Мозырь
Сообщений: 27
Сказал(а) спасибо: 12
Поблагодарили 6 раз(а) в 4 сообщениях
Записей в дневнике: 1
deadangel На верном пути
Отправить сообщение для deadangel с помощью ICQ Отправить сообщение для deadangel с помощью Skype™
По умолчанию Bash скрипт проверки сервера на зависание

В последнее время сборки от Карателя у меня на сервере страдают фризами. Сервер намертво ловил фриза и не мог из него выбраться. установка значения MaxCoreStuckTime = 60 все так же не помогла исправить это положение. Потому набросал простенький скрипт и поставил его на авто выполнение каждые 10 минут. Возможно кому нибудь он и пригодится. У меня он словил 100% фризов. Тестировался в течении 3 недель.

Собственно сам скрипт:
Код:
#!/bin/sh

DATE=$(date)
FREEZ=$(mysql -u<username> -p<password> realmd < /opt/mangos/etc/freezcheck/check.sql | grep "[0|1]")

case $FREEZ in
0)
echo '['$DATE'] Проверка на фриз сервера прошла успешно.'
;;
1)
echo '['$DATE'] Зависание сервера. Сервер перезапущен.'
/opt/mangos/stop
/opt/mangos/start
;;
*)
echo '['$DATE'] Неверное значение ответа мускуля: '$FREEZ
;;
esac
А вот файл с запросом для этого скрипта check.sql:
Код:
SELECT IF ((UNIX_TIMESTAMP() - (`starttime`+`uptime`)) >= 700 , 1, 0) AS 'freez'  FROM `uptime` ORDER BY `starttime` DESC LIMIT 1
deadangel вне форума   Ответить с цитированием