Cron-udtryksfortolker

Fortolk en cron-tidsplan til en letforståelig opdeling, og se de næste kørselstider direkte i din browser.

Cron-udtryk

Næste kørsler

(din lokale tid)

Indtast et cron-udtryk for at fortolke det.

Dit cron-udtryk fortolkes i din browser. Intet sendes til BroBroGo.

FAQ

Hvilken cron-syntaks understøtter dette værktøj?

Standard 5-felters cron – minut, time, dag i måneden, måned og ugedag – herunder intervaller (1-5), trin (*/15), lister (1,15), navngivne måneder og ugedage (JAN, MON) samt genvejene @yearly/@monthly/@weekly/@daily/@hourly. En regel, man nemt kan overse: Når både dag i måneden og ugedag er begrænset (ikke *), er det nok, at én af dem matcher – de behøver ikke begge at passe.

Hvilken tidszone vises de næste kørselstider i?

Din browsers lokale tidszone – den samme, som dit systems ur bruger. Standard-cron indeholder ikke sin egen tidszone; det er den kørende job-scheduler, der bestemmer den. Betragt derfor disse tider som en forhåndsvisning af din egen lokale tidsplan, ikke nødvendigvis serverens.

Hvorfor står der, at denne tidsplan aldrig kan forekomme?

Det skyldes normalt en dag-i-måneden-værdi, der ikke findes i alle de valgte måneder – for eksempel den 31. dag kombineret med april, juni, september eller november. Vælg en dag, der findes i alle de angivne måneder, eller opdel tidsplanen i separate udtryk.

En cron-tidsplan styrer automatiseringen af gentagne opgaver i operativsystemer og applikationer. Selvom syntaksen er kompakt, kan komplekse tidsplaner være svære at gennemskue manuelt. En Cron-udtryksfortolker løser dette ved at nedbryde udtrykket i dets enkelte komponenter og beregne de kommende kørselstidspunkter.

Forståelse af komponenterne i et cron-udtryk

Standard-cron benytter en syntaks med 5 felter, som adskilles af mellemrum. Hvert felt repræsenterer en specifik tidsenhed, som skal matches, før en opgave udføres. Værktøjet opdeler og viser værdierne for følgende felter under overskriften Tidsplanopdeling:

  • Minut: Det minut, hvor opgaven skal køre.
  • Time: Den time på døgnet, hvor kørslen skal finde sted.
  • Dag i måneden: Den specifikke dato i måneden.
  • Måned: Den måned, hvor tidsplanen er aktiv.
  • Ugedag: De specifikke ugedage, hvor opgaven skal køre.

Værktøjet understøtter standard 5-felters cron-syntaks samt de etablerede genveje @yearly, @monthly, @weekly, @daily og @hourly. Det understøtter derimod ikke et sjette "sekunder"-felt eller Quartz-specifikke udvidelser som L, W eller #.

Syntaksregler og specialtegn

For at definere fleksible tidsplaner anvendes forskellige operatorer og tegn i de enkelte felter:

  • Jokertegn (*): Repræsenterer alle mulige værdier for det pågældende felt. I værktøjets opdeling vises dette som "Enhver".
  • Intervaller (f.eks. 1-5): Definerer et lukket interval af værdier, hvor kørslen må finde sted.
  • Trin (f.eks. */15): Angiver intervaller af gentagelser. For disse */n-former viser værktøjets opdeling tekster som "Hvert {n}. minut", "Hver {n}. time", "Hver {n}. dag" (for dag i måneden eller ugedag) eller "Hver {n}. måned".
  • Lister (f.eks. 1,15): En kommasepareret liste af specifikke værdier.
  • Navngivne værdier: Måneder kan angives med navne (f.eks. JAN), og ugedage kan angives med navne (f.eks. MON).

Et eksempel på et sammensat input, der kombinerer disse regler, er */15 9-17 * * MON-FRI.

Særlige regler og potentielle fejl i tidsplaner

Når man konfigurerer cron-udtryk, er der to væsentlige logiske forhold, man skal være opmærksom på:

Interaktionen mellem dag i måneden og ugedag

Når både feltet for dag i måneden og feltet for ugedag er begrænset (det vil sige, at ingen af dem er sat til *), gælder en særlig regel: Det er nok, at blot ét af felterne matcher, for at tidsplanen kører. De to betingelser skal altså ikke begge være opfyldt samtidigt.

Umulige tidsplaner

Et cron-udtryk kan være syntaktisk korrekt, men repræsentere en tidsplan, der aldrig vil kunne indtræffe. Dette sker typisk, hvis man angiver den 31. dag i måneden i kombination med måneder, der kun har 30 eller færre dage (såsom april, juni, september eller november). Hvis værktøjet registrerer en sådan tidsplan, viser det fejlmeddelelsen: "Denne tidsplan kan aldrig forekomme – tjek for en dag i måneden, der ikke findes i alle valgte måneder.".

Hvis udtrykket derimod indeholder deciderede syntaksfejl, vil værktøjet vise meddelelsen "Ugyldigt cron-udtryk". Hvis inputfeltet tømmes helt, vender værktøjet tilbage til en klar-tilstand, hvor der står "Indtast et cron-udtryk for at fortolke det.".

Tidszoner og beregning af næste kørsler

Cron-udtrykket i sig selv indeholder ikke information om tidszoner. Det er den kørende job-scheduler på serveren, der bestemmer, hvilken tidszone udtrykket evalueres i.

Når du bruger denne Cron-udtryksfortolker, beregnes og vises listen over kommende kørselstidspunkter i din browsers lokale tidszone. Værktøjet viser teksten "(din lokale tid)" ud for listen over kørsler. Du kan justere inputtet Antal til at vise mellem 1 og 20 kommende kørsler. Det samlede antal vises under "Viste kørsler".

Lokal databehandling og privatliv

Når du arbejder med systemkonfigurationer, er datasikkerhed afgørende. Denne Cron-udtryksfortolker udfører alle beregninger og fortolkninger direkte i din browser. Dit cron-udtryk fortolkes i din browser, og intet sendes til BroBroGo.

Ofte stillede spørgsmål (FAQ)

Hvilken cron-syntaks understøtter dette værktøj?
Standard 5-felters cron – minut, time, dag i måneden, måned og ugedag – herunder intervaller (1-5), trin (*/15), lister (1,15), navngivne måneder og ugedage (JAN, MON) samt genvejene @yearly/@monthly/@weekly/@daily/@hourly. En regel, man nemt kan overse: Når både dag i måneden og ugedag er begrænset (ikke *), er det nok, at én af dem matcher – de behøver ikke begge at passe.

Hvilken tidszone vises de næste kørselstider i?
Din browsers lokale tidszone – den samme, som dit systems ur bruger. Standard-cron indeholder ikke sin egen tidszone; det er den kørende job-scheduler, der bestemmer den. Betragt derfor disse tider som en forhåndsvisning af din egen lokale tidsplan, ikke nødvendigvis serverens.

Hvorfor står der, at denne tidsplan aldrig kan forekomme?
Det skyldes normalt en dag-i-måneden-værdi, der ikke findes i alle de valgte måneder – for eksempel den 31. dag kombineret med april, juni, september eller november. Vælg en dag, der findes i alle de angivne måneder, eller opdel tidsplanen i separate udtryk.

Understøtter værktøjet sekunder eller Quartz-udvidelser?
Nej, værktøjet understøtter udelukkende den klassiske 5-felters cron-syntaks samt standardgenveje. Det understøtter ikke et sjette felt til sekunder eller Quartz-specifikke tegn som L, W eller #.