Un monitor per cron job funziona al contrario rispetto al controllo di un sito: è il tuo job a chiamare un URL ogni volta che viene eseguito. Se la chiamata non arriva in tempo, ricevi un avviso. Usalo per backup, importazioni notturne, worker di code e tutto ciò che gira senza che nessuno lo tenga d’occhio.
Crea il monitor per il cron job
Apri Monitors, scegli il filtro Cron jobs e poi New cron job.In The job runs, scegli On an interval oppure On a cron schedule.Per una pianificazione cron, inserisci la Cron expression del tuo crontab, ad esempio 0 3 * * *, e il Time zone in cui gira il crontab del server. Mentre scrivi, il modulo mostra le prossime esecuzioni e tiene conto dell’ora legale.Imposta il Grace period: quanto può tardare il ping prima che scatti l’avviso.Se vuoi, imposta un Maximum run time per ricevere un avviso quando un’esecuzione dura troppo.Seleziona i canali di avviso e scegli Create monitor. Copia il Ping URL dalla pagina che si apre.
Chiama l’URL dal tuo job
La configurazione più semplice invia il ping quando il job va a buon fine:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token
Con &&, il ping viene inviato solo se il job va a buon fine. Valgono sia le richieste GET sia POST e HEAD.
Durata, exit code e output
Quando il job parte, chiama il ping URL aggiungendo /start. Vedi quanto è durata ogni esecuzione e la durata massima può far scattare un avviso.Chiamalo con /fail, o con l’exit code, ad esempio /1, per indicare come si è conclusa l’esecuzione. /0 significa successo.Invia l’output del job con una POST e lo vedrai insieme agli errori e nell’avviso. Ne conserviamo 10.000 caratteri, l’inizio e la fine, e le richieste oltre i 64 kB vengono rifiutate, quindi di un log lungo invia l’ultima parte, come qui sotto.
0 3 * * * curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token/start; /usr/local/bin/backup.sh > /tmp/backup.log 2>&1; code=$?; tail -c 60000 /tmp/backup.log | curl -fsS -m 10 –retry 3 –data-binary @- -o /dev/null https://app.uptimecheck.com/api/hb/your-token/$code
La pagina del cron job mostra entrambi gli esempi con il tuo ping URL: copiali da lì. Per Laravel, Kubernetes, GitHub Actions, systemd e Windows, vedi gli esempi di ping per cron job. Scopri di più sul monitoraggio dei cron job e su come monitorare i cron job con gli heartbeat.