Скрипт для cron, который бы каждую минуту проверить загрузку сайта, и если сайт не открывается по таймауту, то выполнить команду?
Как правильно написать скрипт для cron, чтобы проверять, не повис ли сайт. И если сайт повис, т.е. не загружается страница по таймауту, то выполнить определенную команду, например reboot. Проверять хочу каждую минуту.
Система Ubuntu Server 16.04.
И, да, для таких целей существуют готовые системы мониторинга, в том числе и способные выполнять команды при срабатывании триггера, не надо рожать смесь ежа с ужом и велосипедом.
zabbix, monit.
Zabbix — мощная система мониторинга для серьезных вещей, монит — мониторинг для локалхостов. В моните из коробки есть настройки для тех же nginx'а и апача вида
check process nginx with pidfile /var/run/nginx.pid
group www-data
group www-data
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed port 80 protocol http request "/" then restart
Если 80ый порт не отвечает, то рестартовать nginx, аналогично с апачем. Можете сделать что-то другое вместо этого, все в ваших руках.