Задача: сделать без помощи 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
Теперь Вы можете видеть, что отсоединённый от Вашего текущего терминала скрипт будет следить постоянно за жизнеспособностью выбранной Вами службы.
Добавить комментарий