Hoe je een cronjob monitort

Cronjobs falen geruisloos. Heartbeat-monitoring maakt van een gemiste run een melding. Installatie voor cron, systemd-timers, Kubernetes en GitHub Actions.

Het probleem met cron is dat er niets gebeurt als het misgaat. Er gaat geen pagina offline, er verschijnt geen foutmelding; de back-up is er gewoon niet wanneer je hem nodig hebt.

Het heartbeat-patroon

Geef elke job een unieke URL. De job roept die aan bij succes. Een monitor verwacht de aanroep elke N uur; komt die te laat, dan krijg je een melding.

Cron

0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://hb.uptimepush.com/p/TOKEN

systemd-timers

Voeg ExecStartPost=/usr/bin/curl -fsS https://hb.uptimepush.com/p/TOKEN toe aan de service-unit.

Kubernetes CronJob

Voeg de curl-aanroep met && toe aan het containercommando, zodat hij alleen bij succes wordt uitgevoerd.

GitHub Actions

Voeg een laatste stap toe die de URL aanroept met curl, met het token opgeslagen als secret.

Respijtperiodes

Stel een respijtperiode in die iets langer is dan de langste normale run van de job, zodat een trage nacht je niet wakker belt.

Je website slaapt nooit. Jij nu wel.

Begin binnen enkele minuten met monitoren. Je eerste 10 monitors zijn van ons.

Gratis starten – geen creditcard ↗