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) :
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.
#!/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 :
# 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.
#!/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.
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.