Назад | Перейти на главную страницу

Скрипт для перезапуска httpd в случае сбоя

При большом трафике случился сбой моей службы HTTP на моем выделенном сервере. Затем мне нужно перезапустить службу httpd вручную.

Я просто ищу сценарий оболочки, который определяет, в порядке ли служба HTTP. Если нет: перезапустите httpd.

Большое спасибо, если бы это было у вас в кармане ...

Это не решение вашей проблемы. Вам нужно найти настоящую причину этой проблемы, чтобы исправить ее.

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

Если вы собираетесь использовать сценарий оболочки ...

#!/bin/bash

httpd_init="/etc/init.d/httpd"
check1="$(pgrep -f httpd)"
check2="$($httpd_init status | grep -E is[^not]running)"

[[ -n $check1 && -n $check2 ]] && echo "httpd is alive!" || { echo "httpd is dead!"; $httpd_init start; }

exit $?

Этот скрипт выполняет простую проверку ваших httpd pid (используя pgrep), а также небольшую проверку регулярного выражения в строке ответа «/etc/init.d/httpd status» (которая в случае сбоя службы будет « остановлен "конечно).

Если сервис мертв, скрипт вернет его к жизни.

Надеюсь это поможет!

Многие дистрибутивы переходят на systemd для init, который автоматически решает подобные проблемы. Извините, я знаю, что это не немедленное решение ваших проблем.