← Tous les guides

Guide · Linux & macOS

Surveiller un script shell ou une tâche cron

Si un script peut lancer une ligne de curl, Mortemain peut le surveiller. Pareil dans une ligne cron, un script de sauvegarde ou une unité systemd.

1. Créez un check

Dans votre tableau de bord, créez un check pour ce job et copiez son URL de ping unique. Elle ressemble à ceci (l'UUID est le seul secret, gardez-le impossible à deviner) :

 votre URL de ping
https://ping.mortemain.com/votre-uuid-de-check

2. Pinguez quand le job se termine

Ajoutez un curl à la fin de votre script. Les options comptent : échouer en silence, ne rien suivre, et un délai d'attente pour que le ping ne bloque jamais votre job.

 sauvegarde.sh
#!/usr/bin/env bash
pg_dump mabase | gzip > /backups/db.sql.gz

# dire à Mortemain que le job s'est bien terminé
curl -fsS -m 10 --retry 3 https://ping.mortemain.com/votre-uuid-de-check

Vous préférez une ligne ? Chaînez-la pour que le ping ne parte que si le job a réussi :

 crontab
# lancé à 03:00, ping uniquement sur succès
0 3 * * *  /usr/local/bin/sauvegarde.sh && curl -fsS -m 10 https://ping.mortemain.com/votre-uuid-de-check

3. Alertez aussi sur échec (recommandé)

Ajoutez un trap pour qu'un plantage pingue l'endpoint /fail et force le check en panne immédiatement, au lieu d'attendre l'expiration de la fenêtre.

 sauvegarde.sh
#!/usr/bin/env bash
set -euo pipefail
URL=https://ping.mortemain.com/votre-uuid-de-check

# en cas d'erreur, dire à Mortemain que le job a échoué
trap 'curl -fsS -m 10 "$URL/fail"' ERR

pg_dump mabase | gzip > /backups/db.sql.gz
curl -fsS -m 10 "$URL"          # succès

4. Mesurez la durée (optionnel)

Pinguez /start d'abord et Mortemain suit la durée de chaque exécution, une sauvegarde qui prend soudain 4× plus longtemps devient un avertissement, pas une surprise.

 sauvegarde.sh
curl -fsS -m 10 "$URL/start"
pg_dump mabase | gzip > /backups/db.sql.gz
curl -fsS -m 10 "$URL"

Testez

Lancez le curl une fois à la main. Le check passe actif en une seconde ou deux. Puis laissez passer sa fenêtre sans pinguer, et vous devriez recevoir l'alerte de panne. Cet aller-retour, c'est tout l'intérêt : le silence devient l'alarme.