I cron job falliscono in silenzio. Uno script di backup esaurisce lo spazio su disco alle 02:00, un’esportazione delle fatture genera un’eccezione, un server si riavvia e il crontab non viene più eseguito. Niente va giù, niente restituisce un 500 e nessuno se ne accorge finché un cliente non chiede una fattura o non ti serve ripristinare un database.
Il monitoraggio dei cron job ti avvisa quando un job pianificato non viene eseguito, fallisce o dura troppo. Uptimecheck lo fa con gli heartbeat: invece di controllare il job dall’esterno, è il job a segnalarsi a noi.
Configura un monitor per cron job in tre passaggi
Crea un monitor per cron job e indica la pianificazione del tuo job: un’espressione crontab come 0 3 * * * nel tuo fuso orario, oppure un periodo semplice come ogni ora.Copia l’URL di ping.Aggiungi una richiesta alla fine del job, dopo che il lavoro è andato a buon fine: backup.sh && curl -fsS https://your-ping-url.
Se nessun ping arriva entro il tempo previsto più il periodo di tolleranza che scegli, da 1 minuto a 6 ore, il cron job viene considerato down e gli avvisi partono verso i tuoi canali. Quando il job torna a essere eseguito, segue una notifica di ripristino. La nostra guida su come monitorare i cron job tratta pianificazioni, periodi di tolleranza ed errori comuni, e le espressioni cron spiegate ti aiuta con la sintassi.
Più di un semplice “è stato eseguito”
Inizio e fine: chiama /start quando il job parte e il normale URL di ping quando termina, e vedi quanto è durata ogni esecuzione.Durata massima: ricevi un avviso quando un’esecuzione avviata non è terminata in tempo, con un limite da 1 minuto a 24 ore.Codici di uscita: chiama /fail, o direttamente il codice di uscita come /1, per segnalare subito un errore invece di aspettare un ping che non arriverà mai.Output: invia con un POST l’output del job e lo vedrai accanto agli errori e nell’avviso, così puoi leggere l’errore senza accedere al server.
Cosa monitorare con i cron job
Backup di database e file.Importazioni, esportazioni e generazione di report notturne.Queue worker e task pianificati in Laravel, Rails o Django.Script di rinnovo dei certificati.Cicli di fatturazione ed email con le fatture.Sincronizzazioni di dati tra sistemi.
Ping in caso di successo, oppure invia il codice di uscita
Metti la richiesta di fine dopo il lavoro, concatenata in modo che venga eseguita solo se il job termina senza errori. Un job che parte ma si blocca a metà risulterà così mancante, ed è proprio quello che vuoi sapere. Meglio ancora, invia il codice di uscita: backup.sh; curl -fsS https://your-ping-url/$? segnala in ogni caso successo o errore, e l’errore arriva nel momento in cui si verifica.
I cron job accanto al resto del tuo stack
Un backup fallito è spesso un sintomo. Il disco si è riempito, il server del database si è riavviato o un record DNS è cambiato. I cron job stanno nello stesso account del monitoraggio dei server e del monitoraggio uptime, così vedi il disco pieno e il job mancato uno accanto all’altro.
Heartbeat oltre il cron
Tutto ciò che gira con una pianificazione può inviare un heartbeat: un’attività pianificata di Windows, un CronJob di Kubernetes, un workflow di GitHub Actions, una funzione serverless con timer o un worker di lunga durata che si segnala ogni pochi minuti. Se può fare una richiesta HTTP, può dire a Uptimecheck che è attivo. La richiesta è un semplice HTTPS, quindi passa attraverso la maggior parte dei firewall senza configurazioni aggiuntive.
Start include 10 cron job, Professional 50 e Business 150. Gli avvisi arrivano via email, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, webhook e notifiche push su ogni piano.
I piani partono da 9 € al mese con fatturazione annuale o 12 € con fatturazione mensile, IVA esclusa. Consulta la pagina prezzi per i dettagli oppure inizia una prova gratuita di 14 giorni senza carta.