Hopp til hovedinnhold
LibraTool logoLibraTool

Gratis Cron-uttrykkbygger

Bygg, valider og forklar cron-uttrykk for planlagte oppgaver. Beskrivelse i klartekst i sanntid, forhåndsvisning av neste 5 kjøringer og ferdige vanlige mønstre.

Fungerer uten nett når den er lastet
minutt
(0-59)
time
(0-23)
dag
(1-31)
måned
(1-12)
ukedag
(0-7)

På vanlig norsk

Kl. 09:00, Mandag til fredag.

Vanlige mønstre

Kompatibel med standard Unix cron, GitHub Actions, Kubernetes CronJob og de fleste planleggingssystemer. Bruk * for 'hvert', */5 for 'hver 5', 1-5 for intervaller, 1,15 for spesifikke verdier. Godtar også @hourly, @daily, @weekly, @monthly, @yearly, og navn som MON-FRI eller JAN-DEC.

Vanlige bruksområder

  • Bygg Cron for GitHub Actions arbeidsflytGitHub Actions bruker cron-syntaks for planlagte arbeidsflyter. Bygg og bekreft tidsplanen din her.
  • Bygg Cron for Kubernetes CronJobsKubernetes CronJob ressurser bruker standard cron-syntaks. Bygg og forklar uttrykket visuelt.
  • Bygg Cron oppføringer for Linux crontabBygg uttrykk for tradisjonell Unix cron (cron, crontab -e) med selvtillit.
  • Planlegg databasevedlikeholdsjobberPlanlegg sikkerhetskopi-, vakuum- eller analysejobber med selvtillit ved bruk av cron-uttrykk.
  • Lær hvordan Cron-uttrykk fungererHver justering viser øyeblikkelig engelskforklaring og en forhåndsvisning av de neste 5 kjøringer — beste måten å lære cron.

Hvordan det fungerer

Cron-byggeren kjører helt i nettleseren med en håndskrevet tolker i lib/cron.ts — intet eksternt bibliotek, ingen serverkall. Den validerer uttrykket, lager en beskrivelse i klartekst med nettleserens innebygde Intl.DateTimeFormat- og Intl.ListFormat-API-er for dag- og månedsnavn på ditt språk, og beregner de neste planlagte kjøringene ved å gå fremover i tid med logikk som hopper over felt, i stedet for å prøve hvert eneste minutt.

  1. 1
    Uttrykket tolkes felt for felt
    Tolkeren deler uttrykket i fem (eller seks) mellomromsdelte felt og tokeniserer hvert for komma, områder (f.eks. 1-5), trinnotasjon (f.eks. */15) og navngitte verdier som MON eller JAN. @makroer som @daily utvides til sine femfelts-ekvivalenter før tolkingen starter. Ugyldige verdier eller tall utenfor området gir typede feilnøkler som kobles til oversatte meldinger.
  2. 2
    En lesbar beskrivelse settes sammen
    describeCron() i lib/cron.ts bygger setningen på engelsk (eller oversatt) ved å se på hvilke felt som er jokertegn og hvilke som er eksplisitte sett. Dag- og månedsnavn hentes via Intl.DateTimeFormat med aktivt språk, og listeelementer slås sammen med Intl.ListFormat, så bindeordet («og» kontra «,» eller en språkspesifikk form) passer brukerens språk.
  3. 3
    Neste kjøretider beregnes ved å hoppe over felt
    nextRuns() flytter et Date-objekt fremover fra nåtidspunktet, men hopper over hele måneder, dager eller timer som ikke kan passe, i stedet for å teste hvert minutt. Dermed avsluttes en umulig tidsplan som 30. februar raskt via en kontroll med femårshorisont i stedet for å gå i løkke 2,6 millioner ganger.
  4. 4
    Uttrykket deles via URL-fragmentet
    Alle uttrykk du skriver, lagres i sidens URL-fragment som #expr= (med 500 ms forsinkelse via window.history.replaceState). Fragmentet sendes aldri til en server; siden lastes fra det ved oppstart, så deling eller bokmerking av en URL gjenoppretter nøyaktig samme uttrykk uten noen tilstand på serveren.

Relaterte verktøy

Ofte stilte spørsmål