← Blog

Blog · Pas-à-pas

Comment monitorer un cron job avec Mortemain (en 3 étapes)

Cron lance votre job à l'heure prévue et ne dit rien quand il s'arrête. Voici comment être alerté à la place, en trois étapes et une ligne de code.

Une tâche cron qui plante en silence ou qu'un mauvais déploiement supprime ne prévient personne. Vous le remarquez quand la sauvegarde, le rapport ou la synchro n'a pas tourné depuis des jours. Mortemain corrige ça : le job fait son check-in à chaque exécution, et si un check-in manque, vous êtes alerté.

1. Créer un check

Dans votre compte Mortemain, créez un nouveau check :

  • Donnez-lui un nom (ex. Sauvegarde quotidienne).
  • Réglez la fréquence sur le rythme d'exécution (ex. toutes les 24h).
  • Ajoutez un délai de grâce pour absorber les variations normales (ex. 10 minutes), qu'une exécution un peu en retard ne déclenche pas de fausse alerte.
  • Copiez l'URL de ping générée, du type https://ping.mortemain.com/abc123-xyz456.

2. Ajouter le ping à votre crontab

Éditez votre crontab (crontab -e) et ajoutez un curl à la ligne :

 crontab
# avant
0 3 * * * /usr/local/bin/backup.sh

# après
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://ping.mortemain.com/abc123-xyz456

Deux points : -fsS -m 10 garde curl silencieux, échoue sur une erreur HTTP et coupe à 10s ; le && fait que le ping ne part que si backup.sh a réussi, donc un job planté ne signale jamais un faux vert.

3. Tester

  1. Lancez le script à la main et regardez le check passer actif dans le dashboard en une seconde ou deux.
  2. Puis commentez la ligne crontab et laissez passer la fréquence plus le délai de grâce. L'alerte de panne qui suit, c'est tout l'intérêt.

Vous voulez signaler les échecs immédiatement ? Ajoutez /start au démarrage du job et /fail depuis votre gestionnaire d'erreurs, pour qu'une exécution en échec vous alerte aussitôt au lieu d'attendre l'expiration de la fenêtre :

 encadrer le job
URL=https://ping.mortemain.com/abc123-xyz456
curl -fsS -m 10 "$URL/start"
if /usr/local/bin/backup.sh; then curl -fsS -m 10 "$URL"
else curl -fsS -m 10 "$URL/fail"; fi

Sur une offre payante, vous pouvez aussi exiger des check-ins signés (HMAC) pour qu'une URL de ping divulguée ne puisse pas simuler un vert.

Vous n'utilisez pas cron directement ?

Le principe est identique partout ; seule la ligne exacte change. Les guides ont le code prêt à copier pour chacun :

Essayez Mortemain gratuitement (20 checks, sans carte bancaire).