Без циклов система работать не будет. Иногда эти циклы сами останавливаются. Давайте настроим автоматический запуск циклов сервера если они остановятся. Чтобы реализовать перезапуск, нам нужно создать сценарий и шаблон поведения. До создания сценария и шаблона, создадим файл restart.sh
sudo nano /var/www/restart.sh
Заполним файл следующим кодом:
Сохраним изменения Ctrl+O, Enter, Ctrl+X.
Теперь надо установить пользователя и группу на созданный файл restart.ch:
sudo chown www-data:www-data /var/www/restart.sh
И права:
sudo chmod 755 /var/www/restart.sh
Для запуска файла restart.sh от пользователя www-data с правами root необходимо изменить файл /etc/sudoers.
sudo nano /etc/sudoers
В конце файла вставим код:
www-data ALL=(root) NOPASSWD: /var/www/restart.sh
Сохраним изменения Ctrl+O, Enter, Ctrl+X.
Создаём шаблон поведения и сценарий.
Сначала сценарий. В панели управления MajorDomo Нажимаем кнопку Объекты, далее нажимаем Сценарий и в открывшемся окне нажимаем Добавить новый сценарий.
Заполняем поля:
Название – restart_md.
Категория – Режимы работы.
Нажимаем кнопку Добавить.
После появится окно в котором мы выбираем код.
Вводим в этом окне следующий код:
Нажимаем кнопку Сохранить.
Теперь создадим шаблон поведения.
Переходим в панель управления. в разделе Объекты, нажимаем кнопку Шаблоны поведения, далее нажимаем кнопку Добавить новую запись. В поле Название вводим название “Авто поднятие сервера”. Тип шаблона – На основе сообщений. В поле Приоритет выставляем значение 110. Нажимаем кнопку Добавить. После этого у нас появятся ещё поля для заполнения. Заполняем:
Ставим галочку Не проверять другие шаблоны при совпадении.
В поле Шаблон прописываем: main цикл остановлен.
Выбираем Сценарий в разделе Выполнить при совпадении, и в выпадающем списке выбираем restart_md. Далее, нажимаем Сохранить.
Ну вот и всё. Если наш сервер споткнётся, тогда он сам опомниться, что не стоит лежать на холодном полу, поднимится и почапает далее.