Hoppa till innehåll
TextArray

Förstå cron-uttryck: skriv scheman som en utvecklare

Blog /

Cron-uttryck styr när automatiserade uppgifter körs på servrar, molnplattformar och schemaläggningsverktyg – ändå tar de flesta utvecklare till att kopiera exempel och hoppas att de fungerar. Att förstå cron-syntaxen innebär att du med säkerhet kan skriva vilket schema som helst från början, felsöka misslyckade jobb snabbare och undvika kostsamma misstag som säkerhetskopieringar som aldrig körs.

Vad cron uttryck är och varför de betyder något

Ett cron-uttryck är en kompakt sträng med fem eller sex fält som talar om för ett system exakt när en uppgift ska utföras. Det är standardformatet för Unix-servrar, Linux, GitHub Actions, AWS EventBridge, Kubernetes och CI/CD-plattformar över hela världen. Istället för att skriva prosa som "kör detta varje tisdag klockan 02:00", skriver du 0 2 * * 2, och cron-demonen tolkar det direkt. Att lära sig denna notation – som har varit praktiskt taget oförändrad i decennier – är en engångsinvestering som lönar sig varje gång du schemalägger något.

De fem fälten och deras intervall

Standard cron använder fem obligatoriska fält separerade med mellanslag. Läs dem från vänster till höger som minut, timme, dag i månaden, månad och veckodag:

  1. Minute (0–59) — vilken minut av timmen som ska köras
  2. Hour (0–23) — vilken timme på dygnet (24-timmars klocka)
  3. Day of month (1–31) — vilken kalenderdag
  4. Month (1–12) — vilken månad på året
  5. Day of week (0–7) — vilken veckodag, där både 0 och 7 betyder söndag

Varje fält accepterar ett specifikt värde, ett intervall som 1-5, en lista som 1,3,5, eller ett jokertecken * betyder "varje värde i det fältet". Slash-operatorn delar in intervall: */15 i minutfältet betyder var 15:e minut.

Vanliga mönster kommer du att skriva

De flesta verkliga scheman upprepas bara på några få sätt. Vardagsmorgon kl 9 är 0 9 * * 1-5. Varje timme är 0 * * * *. Första dagen i månaden vid midnatt: 0 0 1 * *. Var 15:e minut, hela dagen: */15 * * * *. En gång om dagen på söndag kl. 02.30: 30 2 * * 0. Om du någonsin är osäker på om ditt uttryck är rätt, klistra in det i en cron parser för att se de kommande fem schemalagda körningarna och verifiera att det stämmer överens med din avsikt innan du distribuerar.

Bygg ditt eget cron-uttryck

Börja på engelska och översätt sedan till cron. Vill du ha "9:30 varje vardag"? Det är 30 minuter, 9 timmar, vilken dag i månaden som helst, vilken månad som helst, måndag till fredag. Fält blir 30 9 * * 1-5. För "två gånger om dagen kl. 07.00 och 18.00": 0 7,18 * * * (komma skiljer timmar). Middag den 15:e varje månad: 0 12 15 * *. När du väl har skrivit ett uttryck ska du alltid testa det med parsern för att fånga stavfel innan du distribuerar.

Hantera tidszoner och verifiera exakta tider

Cron-uttryck är serverrelativa – de körs i systemets tidszon, inte din lokala tidszon. För att verifiera en Unix-tidsstämpel eller se vilken lokal tid din cron avfyrar i din zon, använd tidsstämpel omvandlare, som körs i din webbläsare och hanterar tidszonsomvandlingar direkt utan att skicka data någonstans.

Förvandla ditt schema till en kalenderhändelse

När du har ett solidt cron-uttryck, dela det eller lägg till det i din kalender så att du ser när uppgiften körs. De ICS generator konverterar ett startdatum och en upprepningsregel till en kalenderfil som importeras till Apple Calendar, Google Calendar, Outlook eller någon vanlig kalenderapp. Alternativt, skapa en direkt Länk till Google Kalender som öppnar händelsen i förväg i Google Kalender med ett enda klick – inga nedladdningar, ingen filhantering.

Dina cron-scheman förblir privata

Alla verktyg som nämns här körs i din webbläsare; ingenting laddas upp till en server. Cron-parsning, tidsstämpelkonvertering, kalendergenerering och länkskapande sker alla på din enhet. Inget konto, ingen spårning och verktygen fungerar offline efter att de har laddats. Dina scheman och automationsdetaljer förblir dina ensamma.