Cronjobs falen in stilte. Een back-upscript loopt om 02:00 tegen een volle schijf aan, een factuurexport gooit een exception, een server herstart en de crontab draait nooit meer. Er gaat niets offline, er komt geen 500 terug, en niemand merkt het totdat een klant om een factuur vraagt of je een database moet terugzetten.
Cronjob-monitoring laat je weten wanneer een geplande job niet draait, faalt of te lang duurt. Uptimecheck doet dat met heartbeats: in plaats van dat wij je job van buitenaf controleren, meldt de job zich bij ons.
Een cronjob-monitor instellen in drie stappen
Maak een cronjob-monitor aan en geef hem het schema waarop je job draait: een crontab-expressie zoals 0 3 * * * in jouw tijdzone, of een eenvoudige periode zoals elk uur.Kopieer de ping-URL.Voeg één verzoek toe aan het einde van je job, nadat het werk is gelukt: backup.sh && curl -fsS https://your-ping-url.
Komt er geen ping binnen de verwachte tijd plus de respijtperiode die je kiest, van 1 minuut tot 6 uur, dan telt de cronjob als down en gaan er meldingen naar je kanalen. Zodra de job weer draait, volgt een herstelmelding. Onze gids over cronjobs monitoren behandelt schema’s, respijtperiodes en veelgemaakte fouten, en cron-expressies uitgelegd helpt je met de syntax.
Meer dan “hij heeft gedraaid”
Start en einde: roep /start aan als de job begint en de gewone ping-URL als hij klaar is, en je ziet hoe lang elke run duurde.Maximale looptijd: krijg een melding als een gestarte run niet op tijd klaar is, met een limiet van 1 minuut tot 24 uur.Exitcodes: roep /fail aan, of de exitcode zelf zoals /1, om een fout direct te melden in plaats van te wachten op een ping die nooit komt.Output: POST de output van de job en die wordt getoond bij fouten en in de melding, zodat je de fout kunt lezen zonder op de server in te loggen.
Wat je met cronjobs monitort
Back-ups van databases en bestanden.Nachtelijke imports, exports en het genereren van rapporten.Queue workers en geplande taken in Laravel, Rails of Django.Scripts voor het verlengen van certificaten.Factureringsruns en factuurmails.Datasynchronisaties tussen systemen.
Ping bij succes, of stuur de exitcode mee
Zet het eindverzoek na het werk, zo gekoppeld dat het alleen draait als de job netjes afsluit. Een job die start maar halverwege crasht, verschijnt dan als ontbrekend, en dat is precies wat je wilt weten. Nog beter: stuur de exitcode mee. backup.sh; curl -fsS https://your-ping-url/$? meldt in beide gevallen succes of mislukking, en de fout komt binnen op het moment dat hij optreedt.
Cronjobs naast de rest van je stack
Een mislukte back-up is vaak een symptoom. De schijf liep vol, de databaseserver herstartte of een DNS-record is gewijzigd. Cronjobs staan in hetzelfde account als servermonitoring en uptime monitoring, zodat je de volle schijf en de gemiste job naast elkaar ziet.
Heartbeats buiten cron
Alles wat volgens een schema draait, kan een heartbeat sturen: een geplande taak in Windows, een Kubernetes CronJob, een GitHub Actions-workflow, een serverless functie met een timer of een langlopende worker die zich om de paar minuten meldt. Als het een HTTP-verzoek kan doen, kan het Uptimecheck laten weten dat het nog leeft. Het verzoek is gewoon HTTPS, dus het werkt door de meeste firewalls heen zonder extra configuratie.
Start bevat 10 cronjobs, Professional 50 en Business 150. Meldingen gaan naar e-mail, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, webhooks en pushmeldingen, op elk abonnement.
Abonnementen beginnen bij €9 per maand bij jaarlijkse betaling of €12 bij maandelijkse betaling, excl. btw. Bekijk de prijspagina voor de details, of start een gratis proefperiode van 14 dagen zonder creditcard.