Sauvegardes
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 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 À 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 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
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 |
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