У меня такое ощущение, что я пропускаю очевидное, но не удалось с man [curl|wget]
или google ( "http" делает такой плохой поисковый запрос). Я ищу быстрое и грязное исправление для одного из наших веб-серверов, который часто терпит неудачу, возвращая код состояния 500 с сообщением об ошибке. Как только это произойдет, его необходимо перезапустить.
Как трудно найти основную причину, мы стремимся к быстрому исправлению, надеясь, что этого будет достаточно, чтобы сократить время, пока мы не сможем его исправить (услуга не требует высокой доступности)
Предлагаемое решение - создать задание cron, которое выполняется каждые 5 минут, проверяя http://localhost:8080/. Если это возвращается с кодом состояния 500, веб-сервер будет перезапущен. Сервер перезапустится менее чем за минуту, поэтому нет необходимости проверять, что перезапуск уже запущен.
Сервер, о котором идет речь, является минимальной установкой ubuntu 8.04 с достаточным количеством пакетов, установленных для запуска того, что в настоящее время требуется. Нет жесткого требования выполнить задачу в bash, но я бы хотел, чтобы она работала в такой минимальной среде, не устанавливая никаких дополнительных интерпретаторов.
(Я достаточно знаком с написанием сценариев о том, что команды/параметров для назначения кода состояния http для переменной среды будет достаточно - это то, что я искал и не смог найти.)