При большом трафике случился сбой моей службы 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
, который автоматически решает подобные проблемы. Извините, я знаю, что это не немедленное решение ваших проблем.