Cron-jobb fallerar i det tysta. Ett backupskript får slut på diskutrymme kl. 02.00, en fakturaexport kastar ett undantag, en server startas om och crontabben körs aldrig igen. Ingenting går ner, ingenting returnerar 500, och ingen märker något förrän en kund ber om en faktura eller du behöver återställa en databas.
Övervakning av cron-jobb säger till när ett schemalagt jobb inte körs, fallerar eller tar för lång tid. Uptimecheck gör det med heartbeats: i stället för att vi kontrollerar ditt jobb utifrån är det jobbet som hör av sig till oss.
Sätt upp övervakning av ett cron-jobb i tre steg
Skapa en cron-jobbmonitor och ge den schemat som ditt jobb körs på: ett crontab-uttryck som 0 3 * * * i din tidszon, eller ett enkelt intervall som varje timme.Kopiera ping-URL:en.Lägg till ett anrop i slutet av jobbet, efter att arbetet lyckats: backup.sh && curl -fsS https://your-ping-url.
Om ingen ping kommer inom förväntad tid plus den marginal du väljer, från 1 minut till 6 timmar, räknas cron-jobbet som nere och larmen går till dina kanaler. När jobbet körs igen följer ett meddelande om att det är återställt. Vår guide om hur du övervakar cron-jobb går igenom scheman, marginaler och vanliga misstag, och cron-uttryck förklarade hjälper dig med syntaxen.
Mer än ”det kördes”
Start och slut: anropa /start när jobbet börjar och den vanliga ping-URL:en när det är klart, så ser du hur lång tid varje körning tog.Maximal körtid: få ett larm när en påbörjad körning inte blivit klar i tid, med en gräns från 1 minut till 24 timmar.Exitkoder: anropa /fail, eller själva exitkoden som /1, för att rapportera ett fel direkt i stället för att vänta på en ping som aldrig kommer.Utdata: skicka jobbets utdata med POST så visas det vid fel och i larmet, och du kan läsa felet utan att logga in på servern.
Vad du ska övervaka med cron-jobb
Backuper av databaser och filer.Nattliga importer, exporter och rapportgenerering.Köarbetare och schemalagda uppgifter i Laravel, Rails eller Django.Skript som förnyar certifikat.Faktureringskörningar och fakturamejl.Datasynkar mellan system.
Pinga när det lyckas, eller skicka exitkoden
Lägg slutanropet efter arbetet, kedjat så att det bara körs om jobbet avslutas utan fel. Ett jobb som startar men kraschar halvvägs syns då som uteblivet, vilket är precis det du vill veta. Ännu bättre är att skicka exitkoden: backup.sh; curl -fsS https://your-ping-url/$? rapporterar lyckat eller misslyckat i båda fallen, och felet kommer fram i samma stund som det inträffar.
Cron-jobb bredvid resten av din stack
En misslyckad backup är ofta ett symtom. Disken blev full, databasservern startades om eller en DNS-post ändrades. Cron-jobben finns i samma konto som serverövervakning och upptidsövervakning, så du ser den fulla disken och det uteblivna jobbet sida vid sida.
Heartbeats bortom cron
Allt som körs enligt ett schema kan skicka en heartbeat: en schemalagd aktivitet i Windows, ett Kubernetes CronJob, ett GitHub Actions-arbetsflöde, en serverless-funktion med timer eller en långlivad worker som rapporterar in med några minuters mellanrum. Om det kan göra ett HTTP-anrop kan det berätta för Uptimecheck att det lever. Anropet är vanlig HTTPS, så det fungerar genom de flesta brandväggar utan extra konfiguration.
Start har 10 cron-jobb, Professional 50 och Business 150. Larmen går till e-post, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, webhooks och pushnotiser på alla planer.
Planerna börjar på 9 € per månad vid årsbetalning eller 12 € vid månadsbetalning, exkl. moms. Se prissidan för detaljer, eller starta en kostnadsfri provperiod på 14 dagar utan kort.