Créez un monitor, ajoutez une ligne à votre job et laissez Cronitorex corréler les pings en une chronologie. Quand un ping est en retard ou manquant, l'alerte vous parvient en 60 secondes.
Choisissez un nom comme db-backup et indiquez à Cronitorex la fréquence attendue du job. Ce planning devient le contrat que votre job doit respecter.
Envoyez run au démarrage du job et complete ou fail à la fin. Tout ce qui peut envoyer une requête HTTP peut envoyer un ping.
Cronitorex construit une chronologie à partir de vos pings, détecte les exécutions manquées et échouées, et vous alerte par email, Telegram, Discord, Slack ou webhook.
Choisissez ce qui correspond à votre stack. Chaque variante parle à la même API avec les trois mêmes états : run, complete, fail.
0 2 * * * curl -fsS "https://api.cronitorex.com/ping/db-backup?api_key=$CRX_KEY&status=run" >/dev/null; /usr/local/bin/backup.sh && curl -fsS "https://api.cronitorex.com/ping/db-backup?api_key=$CRX_KEY&status=complete" >/dev/null || curl -fsS "https://api.cronitorex.com/ping/db-backup?api_key=$CRX_KEY&status=fail" >/dev/null
#!/usr/bin/env bash
set -euo pipefail
ping() {
curl -fsS "https://api.cronitorex.com/ping/db-backup?status=$1" \
-H "Authorization: Bearer $CRONITOREX_API_KEY" >/dev/null
}
ping run
if /usr/local/bin/backup.sh; then
ping complete
else
ping fail
fi import os, requests
API = "https://api.cronitorex.com/ping/db-backup"
HEADERS = {"Authorization": "Bearer " + os.environ["CRONITOREX_API_KEY"]}
requests.get(API, params={"status": "run"}, headers=HEADERS)
try:
run_backup()
requests.get(API, params={"status": "complete"}, headers=HEADERS)
except Exception:
requests.get(API, params={"status": "fail"}, headers=HEADERS)
raise curl -fsS "https://api.cronitorex.com/ping/db-backup?status=run" \ -H "Authorization: Bearer $CRONITOREX_API_KEY" /usr/local/bin/backup.sh curl -fsS "https://api.cronitorex.com/ping/db-backup?status=complete" \ -H "Authorization: Bearer $CRONITOREX_API_KEY"
Le silence est aussi un signal. Cronitorex attend la prochaine exécution dans l'intervalle que vous avez défini, plus une période de grâce qui absorbe les variations normales.
Le ping run n'est pas encore arrivé, mais la période de grâce est encore ouverte. L'exécution est marquée en retard et aucune alerte n'est envoyée.
La période de grâce s'est écoulée sans ping. Cronitorex déclenche une alerte d'exécution manquée : le job n'a pas tourné du tout.
Un ping fail, ou un ping run sans fin avant la limite de temps, marque l'exécution comme échouée et alerte immédiatement.
Un ping est une simple requête HTTPS. La corrélation, la détection et l'alerte se passent du côté de Cronitorex.
Inscrivez-vous, récupérez une clé API, collez le curl dans votre cron. C'est tout.