Uptime-проверка HTTP через bash + cron
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.
Рецепт
bash
#!/usr/bin/env bash
# /etc/cron.d/uptime-check
# * * * * * root /opt/uptime.sh https://example.com
URL="${1:?URL required}"
CODE=$(curl -o /dev/null -s -w "%{http_code}" -m 10 "$URL")
[ "$CODE" -ge 200 ] && [ "$CODE" -lt 400 ] || \
curl -X POST "$SLACK_WEBHOOK" --data "{\"text\":\"$URL → $CODE\"}"
То же самое в Enterno.io
Alternatively, Enterno следит за HTTP ответом и response-time из 3 регионов без Bash и вебхуков — добавьте URL в мониторы.
Похожие рецепты
Самоподписанный скрипт проверяет SSL сертификат и шлёт алерт за 14 дней до expiry.
Нужно ловить момент, когда реплика начала отставать от мастера больше чем на 10 секунд.
Ваш cron стал молча не запускаться. Нужен алерт, если скрипт пропустил окно выполнения.