Skip to content

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 в мониторы.

Настроить HTTP monitor → ← Все рецепты