Cron-tolker

Tolk en cron-tidsplan til en enkel forklaring og forhåndsvis de neste kjøretidene direkte i nettleseren.

Cron-uttrykk

Neste kjøringer

(din lokale tid)

Skriv inn et cron-uttrykk for å tolke det.

Cron-uttrykket ditt tolkes lokalt i nettleseren din. Ingenting sendes til BroBroGo.

Ofte stilte spørsmål

Hvilken cron-syntaks støtter dette verktøyet?

Standard cron med 5 felt – minutt, time, dag i måneden, måned og ukedag – inkludert områder (1-5), intervaller (*/15), lister (1,15), navngitte måneder og ukedager (JAN, MON), samt snarveier som @yearly/@monthly/@weekly/@daily/@hourly. En viktig regel: når både dag i måneden og ukedag er spesifisert (ikke *), holder det at ett av kriteriene matcher – de må ikke begge være sanne samtidig.

Hvilken tidssone vises de neste kjøretidene i?

Nettleserens lokale tidssone – den samme som systemklokken din bruker. Standard cron inneholder ikke informasjon om tidssone; det er oppgavebehandleren som kjører den som bestemmer dette. Se derfor på disse tidene som en forhåndsvisning i din lokale tid, ikke nødvendigvis serverens.

Hvorfor står det at denne tidsplanen aldri kan inntreffe?

Dette skyldes vanligvis en dato som ikke finnes i alle de valgte månedene – for eksempel den 31. i kombinasjon med april, juni, september eller november. Velg en dag som finnes i alle de oppførte månedene, eller del opp tidsplanen i flere uttrykk.

Et cron-uttrykk er en kompakt tekststreng som definerer tidsplaner for automatiserte oppgaver i Unix-lignende operativsystemer og moderne applikasjonsplattformer. Selv om syntaksen er effektiv for maskiner, kan den være utfordrende å lese og verifisere for mennesker. En Cron-tolker løser dette ved å bryte ned uttrykket i forståelige enkeltdeler og beregne nøyaktige kjøretider.

Dette verktøyet er utviklet for utviklere som må verifisere konfigurasjoner for planlagte oppgaver, driftspersonell som administrerer systemjobber, og teknisk kundestøtte som feilsøker automatiserte prosesser.

Komponentene i et cron-uttrykk

Standard cron-syntaks består av fem tidsbaserte felt separert med mellomrom. Hvert felt representerer en spesifikk tidsenhet:

  1. Minutt: Angir hvilket minutt i timen oppgaven skal starte.
  2. Time: Angir timen på døgnet.
  3. Dag i måneden: Angir datoen i måneden.
  4. Måned: Angir måneden i året.
  5. Ukedag: Angir ukedagen.

Verktøyet støtter standard 5-feltssyntaks samt vanlige snarveier som @yearly, @monthly, @weekly, @daily og @hourly. Det støtter derimot ikke et sjette "sekunder"-felt eller Quartz-spesifikke utvidelser som L, W eller #.

For å angi fleksible tidsintervaller støtter feltene ulike operatorer og formater:

Format / Operator Beskrivelse Eksempel
* Jokertegn som betyr "alle" eller "hver". Vises i verktøyet som "Alle". * * * * *
Områder (-) Definerer et lukket intervall fra og med en verdi til og med en annen. 1-5
Intervaller (/) Definerer steg eller frekvens. Vises som "Hvert {n}. minutt", "Hver {n}. time", osv.. */15
Lister (,) En kommaseparert liste over spesifikke verdier. 1,15
Navngitte verdier Tekstbaserte forkortelser for måneder eller ukedager. JAN, MON

Et eksempel på et sammensatt uttrykk som bruker flere av disse formatene er */15 9-17 * * MON-FRI.

Samspillet mellom dag i måneden og ukedag

En av de mest utbredte misforståelsene rundt cron-syntaks er hvordan feltet for dag i måneden og feltet for ukedag samhandler når begge er spesifisert med begrensninger (det vil si at ingen av dem er satt til jokertegnet *).

Når begge disse feltene er begrenset, fungerer relasjonen mellom dem som en logisk ELLER-betingelse, ikke en OG-betingelse. Det betyr at tidsplanen vil utløses hvis enten dagen i måneden matcher, eller hvis ukedagen matcher. Oppgaven må altså ikke oppfylle begge kriteriene samtidig for å kjøre.

Umulige tidsplaner og logiske feil

Selv om et cron-uttrykk er syntaktisk korrekt, kan det inneholde logiske konflikter som gjør at det aldri vil kjøre. Hvis uttrykket er gyldig, men representerer en tidsplan som er umulig å gjennomføre, vil verktøyet vise feilmeldingen: "Denne tidsplanen kan aldri inntreffe – sjekk om du har valgt en dato som ikke finnes i alle de valgte månedene".

Dette problemet oppstår typisk når man spesifiserer dag 31 i måneden, samtidig som man begrenser månedene til kun å gjelde måneder som har færre enn 31 dager, slik som april, juni, september eller november. Siden ingen av disse månedene har en 31. dag, vil tidsplanen forbli inaktiv.

Tidssoner og beregning av neste kjøring

Standard cron-syntaks inneholder ingen innebygd informasjon om tidssoner. Selve kjøringen styres av systemklokken på serveren eller plattformen der oppgavebehandleren kjører.

Når du bruker dette verktøyet til å generere listen over kommende kjøretider, beregnes og vises disse i din nettlesers lokale tidssone. Dette indikeres med merknaden "(din lokale tid)" ved siden av listen. Du kan justere antallet viste kjøringer i grensesnittet fra 1 opp til maksimalt 20 ved å endre verdien for "Antall".

Personvern og lokal databehandling

Når du feilsøker eller verifiserer tidsplaner, er det viktig at sensitive konfigurasjonsdetaljer ikke eksponeres for tredjeparter. Dette verktøyet behandler alle data lokalt.

Selve tolkingen av cron-uttrykket og beregningen av de neste kjøretidene skjer utelukkende i din egen nettleser. Ingen data eller uttrykk sendes til BroBroGo. Hvis du tømmer inndatafeltet, går verktøyet tilbake til starttilstanden "Skriv inn et cron-uttrykk for å tolke det.". Ved syntaksfeil vil verktøyet vise meldingen "Ugyldig cron-uttrykk".

Ofte stilte spørsmål (FAQ)

Hvilken cron-syntaks støtter dette verktøyet?

Standard cron med 5 felt – minutt, time, dag i måneden, måned og ukedag – inkludert områder (1-5), intervaller (*/15), lister (1,15), navngitte måneder og ukedager (JAN, MON), samt snarveier som @yearly/@monthly/@weekly/@daily/@hourly. En viktig regel: når både dag i måneden og ukedag er spesifisert (ikke *), holder det at ett av kriteriene matcher – de må ikke begge være sanne samtidig.

Hvilken tidssone vises de neste kjøretidene i?

Nettleserens lokale tidssone – den samme som systemklokken din bruker. Standard cron inneholder ikke informasjon om tidssone; det er oppgavebehandleren som kjører den som bestemmer dette. Se derfor på disse tidene som en forhåndsvisning i din lokale tid, ikke nødvendigvis serverens.

Hvorfor står det at denne tidsplanen aldri kan inntreffe?

Dette skyldes vanligvis en dato som ikke finnes i alle de valgte månedene – for eksempel den 31. i kombinasjon med april, juni, september eller november. Velg en dag som finnes i alle de oppførte månedene, eller del opp tidsplanen i flere uttrykk.