EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Автоматический рестарт вебсервера по его зависанию

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Администрирование серверов
Автоматический рестарт вебсервера по его зависанию
Автор Сообщение
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Пт, 04 Ноя, 2011 11:47    Заголовок сообщения: Автоматический рестарт вебсервера по его зависанию Ответить с цитатой

Здравствуйте.
Так как подобная задача встречается достаточно часто, публикую простое решение.

Принцип действия: загружаем страничку, и если находим на ней какой-то текст, считает ситуацию нормальной. иначе -- рестартуем.

По какому-нибудь адресу помещаем скрипт. В нашем случае он выводит сообщение 'php_ok' если всё хорошо и php работает.

скрипт monitoring.php настолько прост, что умещается в 1 строчку
Код:
<? echo 'php_ok'; ?>

можно, конечно и короче)
Код:
<?='php_ok' ?>

Если php не работает, его процессы перезапускаются(при этом отсылается уведомление на email ) . Понятно, что вы можете рестартить, например, апач

Код:
#!/bin/bash
CRL=`curl http://test.qwerty.name/monitoring.php 2>/dev/null | grep php_ok |wc -l `
echo $CRL
if [ $CRL -eq 0 ]; then
 echo "bad"
 echo "PHP restarted" |  mail -s "php restarted" em@i.ll
 killall php-cgi
 /etc/init.d/php-fastcgi restart
else
 echo "ok"
fi

_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lisa_alisa



Зарегистрирован: 30.10.2011
Сообщения: 23

203 Монеты

СообщениеДобавлено: Пт, 04 Ноя, 2011 17:44    Заголовок сообщения: Ответить с цитатой

Иногда проверяют наличие главной сайта, через wget
Затем вешают скрипт на cron и получают собственный мини-трекер
Недостатки этих решений, имхо, в режиме запуска.
Хочется мониторить постоянно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Пт, 04 Ноя, 2011 19:52    Заголовок сообщения: Ответить с цитатой

Да, естественно, всё это в крон с желаемой периодичностью.
Как-то я упустил этот момент при написании поста
В принципе я сейчас изучаю nagios, там то уж с постоянностью режима проблем нет.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GSWG
Пол-пирога
Пол-пирога


Зарегистрирован: 22.01.2011
Сообщения: 60

3461 Монеты

СообщениеДобавлено: Сб, 26 Янв, 2013 16:21    Заголовок сообщения: Ответить с цитатой

Можно подробно описать как на VDS debian-6.0-x86_64 что, куда и где вставить и создать - Перезагрузку всего сервера по cron 2 раза в сутки, в 6.00 и 15.00
_________________
Сапер идет медленно но лучше его не обгонять...
http://gswg.ru Сайт виртуального хоккея
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
GSWG
Пол-пирога
Пол-пирога


Зарегистрирован: 22.01.2011
Сообщения: 60

3461 Монеты

СообщениеДобавлено: Вс, 27 Янв, 2013 21:58    Заголовок сообщения: Ответить с цитатой

Нашёл решение самостоятельно, может кому понадобиться:

Заходим через FTP по пути: /etc/crontab

Открываем файл(хоть на сервере, можете скачать и открыть на компе у себя) - crontab, у Вас должно быть такое:

Код:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
27 * * * * root cd / && run-parts --report /etc/cron.hourly
25 3 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
44 2 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
22 1 14 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
10 6,15 * * * root shutdown -r now
#


Последнюю строку (10 6,15 * * * root shutdown -r now) я добавил время перезагрузки сервера - в 6 часов 10 минут и 15 часов 10 минут!

Затем нужно перегрузить Ваш сервер и радуемся проделанной работе!

P.S. Это делал на VDS debian-6.0-x86_64
_________________
Сапер идет медленно но лучше его не обгонять...
http://gswg.ru Сайт виртуального хоккея
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Вс, 27 Янв, 2013 22:25    Заголовок сообщения: Ответить с цитатой

GSWG
Описанный вами способ добавления в КронТаб может не сработать)))
К тому же, перезагружать каждый раз сервер, чтобы добавить новую запись, не совсем удобно.
Я добавляю записи как обычно и всё работает без перезагрузки сервера. Команда:
Код:
crontab -e

Для просмотра содержимого КронТаба:
Код:
crontab -l


Запись будет производиться в нужный файл (если его нет, то он будет создан).
А файл /etc/crontab - это конфигурационный файл. И можно ли его трогать, я не знаю.[/code]
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
GSWG
Пол-пирога
Пол-пирога


Зарегистрирован: 22.01.2011
Сообщения: 60

3461 Монеты

СообщениеДобавлено: Пт, 08 Фев, 2013 14:11    Заголовок сообщения: Ответить с цитатой

Изменил 10 6,15 * * * root shutdown -r now

на

10 6,15 * * * root /sbin/reboot

Это работает на 100%.
_________________
Сапер идет медленно но лучше его не обгонять...
http://gswg.ru Сайт виртуального хоккея
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
shootgsm



Зарегистрирован: 19.02.2014
Сообщения: 2

129 Монеты

СообщениеДобавлено: Ср, 19 Фев, 2014 20:56    Заголовок сообщения: Ответить с цитатой

Здрасте всем Smile
Вопрос от новичка.
в консоли набирал crontab -e
открылся в nano файл на редактирование. Файл дефонлтный, без инструкций. Внес свои правки и сохранил. Открыл через консоль все ок.
Пошел в /etc/crontab там совсем иная инфа.
в папке /tmp нашел временный файл с внесенной мной инфой.

Сижу гадаю во первых какой файл надо править?
Во вторых, где все таки тот файл в который я внес правку через консоль?

Заранее спасибо за ответ.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алзим
Владелец сайта на хостинге EOMY
Красные глаза


Зарегистрирован: 17.10.2010
Сообщения: 2069
Откуда: Интернет
11629 Монеты

СообщениеДобавлено: Ср, 19 Фев, 2014 21:22    Заголовок сообщения: Ответить с цитатой

shootgsm писал(а):
ошел в /etc/crontab там совсем иная инфа.

Это совсем другой файл.
shootgsm писал(а):
Сижу гадаю во первых какой файл надо править?

Тот, который открывается при нажатии:
Код:
crontab -e
shootgsm писал(а):
Во вторых, где все таки тот файл в который я внес правку через консоль?

Обычно в /tmp, но он может и измениться. Лучше править через консоль.
_________________
Новая доходная и с быстрым выкупом биржа ссылок! Руби каппусту!
Дешёвый хостинг сайтов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
shootgsm



Зарегистрирован: 19.02.2014
Сообщения: 2

129 Монеты

СообщениеДобавлено: Пт, 21 Фев, 2014 18:18    Заголовок сообщения: Ответить с цитатой

Алзим
Спасибо Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Администрирование серверов Часовой пояс: GMT
Страница 1 из 1

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group