Как автоматически перезапустить сервис в Linux


Если у вас на сервере или рабочей станции бывает так, что какой-либо процесс самостоятельно завершает свою работу и автоматически не восстанавливается эта статья для вас.
Для того, чтобы восстановить работоспособность упавшего процесса, приходится каждый раз запускать сервис руками. Иногда даже выяснить причину такой проблемы до конца выяснить не представляется возможным ввиду отсутствия знаний или той или иной информации.

Способ автоматического рестарта сервисов носит “временный” характер и не рекомендуется его использовать как “панацею”.
Можно использовать громоздкие пакеты мониторинга системы, но мы будет это делать штатными средствами Linux. Мы будем использовать cron.

Первым делом узнаем, где лежат скрипты запусков сервисов. В большинстве unix-систем это /etc/init.d/. Можно найти нужный скрипт запуска выполнив команду find:

$ find /etc/init.d -name SERVICE-NAME
/etc/init.d/SERVICE-NAME

Заставим cron выполнять нашу команду каждую минуту и если процесс был завершен и в системе не будет найдено имя нашего процесса – будет выполнен автоматический перезапуск сервиса.

Выполним команду crontab -e и добавим задание в cron:

*/1 * * * * ps -A | grep SERVICE-NAME || /etc/init.d/SERVICE-NAME restart

Проверить работоспособность можно самостоятельно завершив процесс и спустя минуту посмотреть запустится ли он автоматически или нет.


Другие публикации:

Написать комментарий через:

 
               
  • Локальный блог
  •  
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

 
Статусы для соц.сетей на ArtKiev Design Studio