Простой способ перезапуска службы в Linux без помощи cron

Постоянный адрес этой страницы: http://ssve.ru.1spb.org/node/76Навигация: безопасная (SSL)  /  обычная Как Вам этот сайт?
Отправить в
 События.WebMoney

 

Задача: сделать без помощи cron так, чтобы служба выполнялась непрерывно и в случае сбоя перезапускалась автоматически.

Применительно к CentOS 6.X это решение будет выглядеть следующим образом.

Авторизуемся под именем root и создадим два файла сценария Linux shell.

Первый -- файл монитора необходимого Вам сервиса myservice (например, httpd), который периодически "падает": mclp.sh

#!/bin/bash

while :
do
    service myservice start > mcwd.txt
    sleep 30
done

И второй, элегантный сценарий запуска первого сценария как фоновой службы: mcls.sh

#!/bin/bash

# double background your script to have it detach from the tty
# cf. http://www.linux-mag.com/id/5981

(./mclp.sh &) &

Допустим оба скрипта к выполнению и запустим второй:

chmod +x mclp.sh mcls.sh

./mcls.sh

 

Теперь Вы можете видеть, что отсоединённый от Вашего текущего терминала скрипт будет следить постоянно за жизнеспособностью выбранной Вами службы. 

 

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

CAPTCHA
Мы хотим убедиться, что Вы отправляете нам данные вручную, а не с помощью программ для спам-рассылки. Введите цифры и русские заглавные буквы с картинки. Набор символов: АБВГДЕЁЖИЙКЛМНПРСТУФХЧШЬЭЮЯ123456789
CAPTCHA на основе изображений
Введите код с картинки