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/TOKENsystemd-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.