Surveiller vos sauvegardes de base de données

Soyez alerté dès qu'une sauvegarde nocturne ne s'est pas exécutée — plutôt que de le découvrir lors d'une restauration.

Le problème

Les sauvegardes sont l'échec silencieux classique. Le cronjob tourne, le dump échoue — disque plein, identifiants expirés, un accroc réseau — et rien ne vous le dit. Vous le découvrez des semaines plus tard, en plein incident, quand la restauration dont vous avez désespérément besoin s'avère vide ou tout simplement absente.

Comment SteadyCron le résout

  1. 1 Créez un heartbeat check correspondant à votre planning de sauvegarde (par ex. tous les jours à 02:00) et définissez une période de grâce qui absorbe les variations normales.
  2. 2 À la fin de votre script de sauvegarde, envoyez un ping à SteadyCron en cas de succès — et explicitement en cas d'échec si la commande dump retourne une erreur.
  3. 3 Si le ping de succès n'arrive pas dans la période de grâce, SteadyCron vous alerte par email, Slack, Discord, Telegram ou webhook.
#!/usr/bin/env bash
TOKEN=<votre-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
app.steadycron.com/jobs

Jobs

New job
Search jobs…
All HTTP Heartbeat
Status Group: env
env:prod 5 jobs 1 failing
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
env:dev 3 jobs
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

Statut, planning et dernière exécution de chaque tâche — en un coup d’œil.

Pourquoi un heartbeat et pas seulement un code de retour

Le code de retour de votre script n’a de sens que si quelque chose l’observe — et sur une VM isolée, rien ne le fait. Un heartbeat déplace la question « a-t-il tourné ? » hors de la machine qui pourrait elle-même être en panne. Si le serveur redémarre, le disque se remplit ou cron est mal configuré, le ping n’arrive tout simplement jamais, et SteadyCron vous le signale.

Détectez aussi les sauvegardes bloquées

Envoyez un ping /start au début du script. Si une sauvegarde commence mais n’envoie jamais son /success ou /fail — parce qu’elle est bloquée sur un verrou ou à court de mémoire — SteadyCron marque le run comme bloqué, et pas seulement comme en retard.

Documentation associée

Ne l’apprenez plus à vos dépens

Commencez avec l’offre gratuite — sans carte bancaire.

Commencer gratuitement