Backups
Monitorea tus backups de base de datos
Recibe una alerta en el momento en que un backup nocturno no se ejecuta — en lugar de descubrirlo durante una restauración.
El problema
Los backups son el fallo silencioso clásico. El cron job corre, el dump falla — disco lleno, credenciales expiradas, un corte de red — y nada te lo dice. Te enteras semanas después, en pleno incidente, cuando la restauración que necesitas desesperadamente resulta estar vacía o directamente no existe.
Cómo lo resuelve SteadyCron
- 1 Crea un heartbeat check que coincida con tu planificación de backups (p. ej. a diario a las 02:00) y define un período de gracia que absorba la varianza normal.
- 2 Al final de tu script de backup, haz ping a SteadyCron si hay éxito — y explícitamente si hay fallo, en caso de que el comando dump devuelva un error.
- 3 Si el ping de éxito no llega dentro del período de gracia, SteadyCron te alerta por email, Slack, Discord, Telegram o webhook.
#!/usr/bin/env bash
TOKEN=<tu-ping-token>
if pg_dump "$DATABASE_URL" | zstd | age -r "$KEY" > /backups/db.sql.zst.age; then
curl -fsS https://ping.steadycron.com/$TOKEN
else
curl -fsS https://ping.steadycron.com/$TOKEN/fail
fi
Jobs
| weekly-digest-email | HTTP | 0 9 * * 1 | in 2 days | 3 days ago | ||
| nightly-db-backup | Heartbeat | 0 2 * * * | in 19 h | 5 h ago | ||
| stripe-reconciliation | HTTP | 0 */4 * * * | in 38 min | 3 h ago | ||
| cache-warmup | HTTP | */15 * * * * | in 11 min | now | ||
| search-index-sync | Heartbeat | */30 * * * * | in 6 min | 24 min ago |
| seed-test-data | HTTP | 0 4 * * * | in 14 h | 10 h ago | ||
| preview-env-cleanup | Heartbeat | 0 */6 * * * | in 2 h | 4 h ago | ||
| trial-expiry-sweep | HTTP | 0 6 * * * | — | yesterday |
Estado, horario y última ejecución de cada job — de un vistazo.
Por qué un heartbeat y no solo un código de salida
El código de salida de tu script solo importa si algo lo está observando — y en una VM aislada, nada lo hace. Un heartbeat desplaza la pregunta “¿corrió?” fuera de la máquina que podría estar caída. Si el servidor se reinicia, el disco se llena o cron está mal configurado, el ping simplemente no llega nunca, y SteadyCron te lo comunica.
Detecta también los backups bloqueados
Envía un ping /start al inicio del script. Si un backup empieza pero nunca envía
su /success o /fail — porque se bloqueó en un lock o se quedó sin memoria —
SteadyCron marca la ejecución como bloqueada, no solo como tardía.
Documentación relacionada
Deja de enterarte a las malas
Empieza en el plan gratuito — sin tarjeta de crédito.
Empezar gratis