Cron-udtryks-parser

Indsæt et hvilket som helst cron-udtryk med 5 felter, og se straks, hvad det betyder i klartekst – ingen grund til at kigge skeløjet på stjerner og skråstreger for at finde ud af, hvornår en opgave kører.

Hjalp denne regnemaskine dig?

Hvad er Cron-udtryks-parser?

Cron er den standardsyntaks for planlægning, der bruges af Unix/Linux cron-opgaver, CI/CD-pipelines, Kubernetes CronJobs og utallige opgaveplanlæggere. Et cron-udtryk pakker en hel tilbagevendende tidsplan ind i fem kompakte felter, hvilket er kraftfuldt, men berygtet svært at læse ved et øjekast – er "0 */4 * * 1-5" hver 4. time på hverdage eller noget helt andet? Denne parser bryder et cron-udtryk ned felt for felt og oversætter det til en letforståelig sætning, så du kan kontrollere, at en tidsplan er korrekt, før du udruller den, eller hurtigt forstå en tidsplan, som en anden har skrevet, uden at slå op i en cron-syntakstabel.

Hvornår skal du bruge denne regnemaskine

  • Når du skal kontrollere en cron-tidsplan, før du udruller en planlagt opgave eller CI/CD-pipeline
  • Når du fejlsøger, hvorfor en planlagt opgave kørte eller ikke kørte på et uventet tidspunkt
  • Når du skal gennemgå en Kubernetes CronJob- eller GitHub Actions-plan skrevet af en kollega
  • Når du lærer cron-syntaks til et sysadmin- eller DevOps-certificeringskursus
  • Når du reviderer eksisterende crontab-posteringer under en servermigrering
  • Når du designer et komplekst planlægningsmønster, der kombinerer flere tidsmæssige begrænsninger

Trin:

  1. Indsæt eller skriv et cron-udtryk med 5 felter i inputfeltet.
  2. Se hvert felt brudt ud individuelt med dets betydning.
  3. Læs den letforståelige oversættelse af hele tidsplanen.
  4. Prøv en forudindstillingsknap til almindelige tidsplaner som "hver time" eller "hverdage kl. 9".

Formel

┌───────────── minut (0-59) │ ┌───────────── time (0-23) │ │ ┌───────────── dag i måned (1-31) │ │ │ ┌───────────── måned (1-12) │ │ │ │ ┌───────────── ugedag (0-6, søndag=0) │ │ │ │ │ * * * * *

Anvendelsessager

  • Kontrollere en cron-tidsplan, før du udruller en planlagt opgave eller CI/CD-pipeline
  • Forstå en Kubernetes CronJob eller en serverless-planlagt funktion skrevet af en kollega
  • Fejlsøge, hvorfor en planlagt opgave kørte (eller ikke kørte) på et uventet tidspunkt
  • Lære cron-syntaks til et sysadmin- eller DevOps-kursus
  • Revidere eksisterende crontab-posteringer under en servermigrering

Nøglefordele

  • Oversætter straks kryptisk cron-syntaks til letforståeligt sprog
  • Bryder hvert af de 5 felter ned individuelt for klarhed
  • Forudindstillinger med ét klik til de mest almindelige planlægningsmønstre
  • Ingen tilmelding, kører helt i din browser

Pro tips

  • Hvis du er i tvivl, så test først med et meget nært tidspunkt i fremtiden for at bekræfte, at tidsplanen udløses som forventet
  • Brug intervaller (1-5) i stedet for at angive hver værdi med kommaer, når det er muligt, for læsbarhedens skyld
  • Dobbelttjek din server eller planlæggers tidszoneindstilling – dette er den mest almindelige kilde til "forkert tidspunkt"-cron-fejl
  • For noget mere komplekst end en simpel daglig/ugentlig tidsplan skal du skrive den letforståelige beskrivelse ned og sammenligne den med din hensigt, før du udruller

Almindelige fejl at undgå

  • At glemme, at dag-i-måneden og dag-i-ugen kombineres med ELLER og ikke OG
  • At blande 0-indekseret dag-i-ugen (0=søndag) sammen med 1-indekserede konventioner fra andre systemer
  • At antage, at */7 i dag-i-måneden-feltet betyder "hver 7. dag" – det betyder faktisk dagene 1, 8, 15, 22, 29, der genstarter hver måned
  • At glemme, at de fleste cron-implementeringer kører i serverens lokale tidszone og ikke UTC eller brugerens tidszone

Nøglebegreber forklaret

Cron: En tidsbaseret opgaveplanlægger, der bruges i Unix-lignende operativsystemer
Crontab: Filen eller kommandoen, der bruges til at definere en liste af cron-opgaver
Trinværdi: "/N"-syntaksen, der betyder "hver N enhed" fra et felts minimum
CronJob: Kubernetess' oprindelige ressource til at køre cron-planlagte opgaver

Relaterede begreber

  • Tidsforskel-kalkulator: Beregn varigheden mellem to datoer og tidspunkter
  • Dage-til-kalkulator: Tæl dage til en bestemt dato
  • Unix-tidsstempel-konverter: Konverter mellem Unix-tidsstempler og datoer
  • Tidszoneoverlap-kalkulator: Find overlap i arbejdstider på tværs af tidszoner
  • JSON-formatterer: Formater og valider JSON-data

Eksempel

Udtrykket "0 9 * * 1-5" brydes ned til: minut=0, time=9, hver dag i måneden, hver måned, mandag til fredag – hvilket betyder "Kl. 09:00, mandag til fredag."

Fortolkning af dine resultater

Parseren bryder et 5-felts cron-udtryk ned i sine individuelle komponenter og oversætter hver enkelt til letforståeligt sprog. De fem felter er: minut (0–59), time (0–23), dag i måneden (1–31), måned (1–12) og dag i ugen (0–6, hvor 0 er søndag). En opgave kører, når ALLE fem felter matcher det aktuelle tidspunkt – dette er OG-logik mellem felterne. Vær særligt opmærksom på samspillet mellem dag-i-måneden og dag-i-ugen, som bruger ELLER-logik (ikke OG). En opgave planlagt med dag 15 OG dag-i-ugen 5 kører både den 15. hver måned OG hver fredag – ikke kun fredage, der falder på den 15. Dette er en almindelig kilde til planlægningsfejl.

Ofte stillede spørgsmål

Hvad er de 5 felter i et cron-udtryk?
I rækkefølge: minut (0-59), time (0-23), dag i måneden (1-31), måned (1-12) og dag i ugen (0-6, hvor 0 er søndag). En opgave kører, når alle fem felter matcher det aktuelle tidspunkt.
Hvad betyder en stjerne (*) i cron-syntaks?
En stjerne betyder, at "alle værdier er tilladt" for det pågældende felt. For eksempel betyder * i timefeltet, at opgaven kan køre på alle tidspunkter, hvilket reelt betyder, at feltet ikke begrænser tidsplanen.
Hvad betyder */5?
Skråstregen angiver en trinværdi. */5 i minutfeltet betyder "hvert 5. minut" – startende fra feltets minimumsværdi og gentaget hver 5. enhed.
Hvordan planlægger jeg en opgave til kun hverdage?
Brug et interval i dag-i-ugen-feltet: 1-5 repræsenterer mandag til fredag. Kombineret med en bestemt time og et bestemt minut, f.eks. "0 9 * * 1-5", kører opgaven kl. 9:00 alle hverdage.
Hvad betyder kommaet i cron-syntaks?
Et komma adskiller flere værdier i et enkelt felt. For eksempel betyder 0,15,30,45 i minutfeltet, at opgaven kører på minutterne 0, 15, 30 og 45. Kommaet er et simpelt ELLER: opgaven kører på enhver af de angivne værdier.
Hvad er bindestregen (interval) i cron-syntaks?
En bindestreg definerer et interval af værdier. For eksempel betyder 1-5 i dag-i-ugen-feltet mandag til fredag (dagene 1 til 5). Intervaller inkluderer begge endepunkter. Du kan kombinere intervaller med anden syntaks: 1-5,0 betyder mandag til fredag plus søndag.
Hvordan planlægger jeg en opgave, der kører hver 2. uge?
Standard-cron understøtter ikke direkte planlægning hver anden uge. Du har to muligheder: (1) Brug et wrapper-script, der tjekker datoen og kun udfører opgaven hver anden uge, eller (2) brug en opgaveplanlægger, der understøtter mere komplekse udtryk, som AWS EventBridge, eller system-timere med kalenderbaserede udløsere.
Hvilken tidszone bruger cron?
Standard-cron bruger serverens lokale tidszone. Hvis din server er konfigureret til UTC, kører alle cron-opgaver i UTC uanset din lokale tidszone. Kontrollér altid serverens tidszoneindstilling, især i cloud-miljøer, hvor standardindstillingen måske ikke matcher den tidszone, du forventer.
Hvad er forskellen på cron og crontab?
Cron er daemonen (baggrundstjenesten), der kører planlagte opgaver. Crontab er konfigurationsfilen (eller kommandoen), der definerer listen over cron-opgaver. Når du redigerer din crontab, skriver du de tidsplaner, som cron-daemonen læser og udfører.
Hvordan håndterer jeg sommertid med cron?
De fleste cron-implementeringer justerer ikke automatisk for sommertid. Når urene stilles frem, kan en opgave planlagt til kl. 2:00 blive sprunget over helt. Når urene stilles tilbage, kan en opgave køre to gange. For at undgå sommertid-problemer skal du planlægge opgaver uden for overgangstimerne (kl. 2:00–3:00) eller bruge UTC-baseret planlægning.
Kan jeg bruge cron til intervaller på under et minut?
Standard-cron har granularitet på minutniveau og kan ikke planlægge opgaver hyppigere end én gang i minuttet. Til intervaller under et minut skal du bruge alternativer som systemd-timere, Kubernetes CronJobs med kortere intervaller eller planlæggere på applikationsniveau (node-cron med millisekundunderstøttelse).

Opdag flere værktøjer

Friske udvalg fra hele vores værktøjsbibliotek.