Автостарт сервисов при остановке

Автостарт сервисов при остановке

Иногда просто необходимо чтобы некоторые сервисы запустились сами (без вмешательства) при остановке. Я хочу привести довольно неплохой пример как это можно сделать. Конечно, это не решит проблему на 100%.

Для того чтобы реализовать автостарт некоторых сервисов, я создам скрипт и потом его добавлю в крон задание для выполнения по расписанию. В своей статье «Автостарт сервисов при остановке» я покажу на готовых пример как это можно реализовать.

Автостарт сервисов при остановке

Для начала, открываем файл, я назову его autostart_some_services_after_stop.sh:

# vim /home/captain/autostart_some_services_after_stop.sh

Для каждой службы, я пропишу автозапуск при падении.

Если нужно добавить в автозапуск веб-сервер apache, то пропишите в скрипт следующие строки:

#!/bin/bash

# APACHE SECTION
RESTART_apache="/etc/init.d/apache2 restart"
PGREP="/usr/bin/pgrep"
HTTPD="apache"
$PGREP ${HTTPD}
if [ $? -ne 0 ]; then
$RESTART_apache
fi

Если нужно добавить в автозапуск веб-сервер nginx, то пропишите в скрипт следующие строки:

# Nginx SECTION
RESTART_nginx="/etc/init.d/nginx restart"
PGREP_nginx="/usr/bin/pgrep"
NGINX="nginx"
$PGREP ${NGINX}
if [ $? -ne 0 ]; then
$RESTART_nginx
fi

Если нужно добавить в автозапуск сервер mysql, то пропишите в скрипт следующие строки:

# MYSQL SECTION
RESTARTM="/etc/init.d/mysql restart"
MYSQLD="mysqld"
$PGREP ${MYSQLD}
if [ $? -ne 0 ]; then
$RESTART
$RESTARTM
fi

Скрипт готов, но еще нужно добавить права на исполнение, для написанного скрипта:

# chmod +x /home/captain/autostart_some_services_after_stop.sh

Сейчас, осталось совсем не много, необходимо прописать (добавить) данный скрипт в кронтаб для выполнения по расписанию, для этого выполняем:

# crontab -u captain -e

в конец добавим строку:

*/1 * * * * /bin/sh /home/captain/autostart_some_services_after_stop.sh

И сохраняем данный файл, если не знаете как пользоваться crontab, то можно ознакомится с моей темой тут:

создать cron задание

Скрипт, будет выполнятся 1 раз в минуту и проверять работают ли сервисы, если нет, то перезапустит их. Это не выход, т.к лучше всего разобраться почему данная служба перестала работать. Но если нет нужды, то скрипт годный.

На этом, я завершаю свою статью «Автостарт сервисов при остановке».

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.