Cron-udtryksberegner
Indtast et standard cron-udtryk med 5 felter (cronie-dialekten) og en startdato og et starttidspunkt, og se, hvornår jobbet kører næste gang.
Hvilken cron det er
Denne beregner læser det standard cron-udtryk med 5 felter, som bruges af Linux crontab, og den følger cronies opførsel. Den er ikke en beregner til andre cron-dialekter. Især er udtryk i Quartz-stil (6 eller 7 felter med sekunder og år og tegnene ? L W #) anderledes og understøttes ikke. Planlæggere som AWS EventBridge, Kubernetes CronJob og systemd-timere har deres egen syntaks eller tidszoneindstillinger og håndteres heller ikke.
| Felt | Område | Sådan skriver man det |
|---|---|---|
| Minut | 0–59 | *, et tal, 1,15 (en liste), 10-20 (et område), */15 eller 0-30/10 (trin) |
| Time | 0–23 | Det samme |
| Dag i måneden | 1–31 | Det samme |
| Måned | 1–12 | Det samme. Navne (jan til dec, uden forskel på store og små bogstaver) virker også, i lister og områder |
| Ugedag | 0–7 | Det samme. Navne (sun til sat) virker også. 0 og 7 betyder begge søndag |
@yearly(@annually) =0 0 1 1 *,@monthly=0 0 1 * *,@weekly=0 0 * * 0,@daily=0 0 * * *,@hourly=0 * * * *. Denne beregner accepterer også@midnightsom@daily.- Et ugedagsområde, der ender på 0 (
5-0), læses som endende på 7 (fredag, lørdag, søndag). - Når et trin er større end området (som
*/23i timefeltet), bruges kun den første værdi og de værdier, trinnet når (*/23= time 0 og 23).
Dag i måneden og ugedag: ELLER og OG
Hvordan feltet for dag i måneden og feltet for ugedag virker sammen, afgøres af cron-implementeringen (cronie).
- Hvis ingen af felterne starter med
*, kører jobbet på de dage, der matcher en af dem (ELLER).30 4 1,15 * 5kører kl. 4:30 den 1. og den 15. i hver måned og hver fredag. - Hvis et af felterne starter med
*, kører jobbet på de dage, der matcher begge (OG). Et felt, der starter med*, regnes som „ingen begrænsning“. *og*/2behandles ens, fordi begge starter med*. Kun de udvidede værdier er forskellige (*/2er de ulige dage 1, 3, 5 og så videre).0 0 */2 * 1= ulige dage OG mandage0 0 1-31/2 * 1= ulige dage ELLER mandage (1-31/2starter ikke med*)
- Resultatet viser, om ELLER eller OG gælder.
Hvor langt frem den søger
Med start efter den dato og det tidspunkt, du indtastede, tjekker beregneren op til 10 år frem (men ikke forbi 31. december 2100), en dag ad gangen. Et udtryk, der kun kører hvert par år, som et for 29. februar, findes, hvis det kører inden for 10 år. Hvis intet kører inden for 10 år (for eksempel fordi datoen aldrig findes), siger resultatet det. Selve starttidspunktet er ikke med (søgningen gælder tidspunkter „efter“ det).
Syntaks, der ikke understøttes
Hvis du indtaster en af disse, forklarer beregneren, hvorfor den ikke kan læse det.
- Udtryk med 6 eller 7 felter (et felt for sekunder eller år, som i Quartz)
?,L,Wog#(Quartz-syntaks)@reboot(et job, der kører én gang ved opstart, så det har ingen kørselstidspunkter)~(cronies tilfældige værdier) ogCRON_TZ(en tidszone pr. crontab)- Et trin på en enkelt startværdi, som
5/15
Tidszoner og sommertid
Den dato og det tidspunkt, du indtaster, bruges, som de er, som år, måned, dag, time og minut. Omregning af tidszone og sommertid beregnes ikke, så resultatet kan afvige fra det, cron faktisk gør på dit system. Ifølge cronies manual (kontrolleret 28. oktober 2026) køres jobs på et tidspunkt, der ikke findes på grund af et skift til sommertid, ikke, og jobs på et tidspunkt, der forekommer to gange, køres to gange. Andre cron-implementeringer håndterer det anderledes.
Eksempler
*/15 9-17 * * 1-5kører hvert 15. minut fra 9:00 til 17:59 på hverdage0 9 * * 1kører kl. 9:00 hver mandag0 0 1 * *kører kl. 0:00 den 1. i hver måned (det samme som@monthly)0 0 * * 0og0 0 * * 7kører begge kl. 0:00 hver søndag30 4 1,15 * 5kører kl. 4:30 den 1. og 15. og hver fredag (ELLER)0 0 29 2 *kører kl. 0:00 den 29. februar i skudår (den næste kan ligge flere år ude i fremtiden)0 0 31 2 *kører aldrig, fordi 31. februar ikke findes (intet findes inden for 10 år)
Kilder og kontroldato
Syntaksen og opførslen blev kontrolleret i cronies kildekode (entry.c og cron.c) og i cronies crontab(5)-manual (cronie på GitHub) den 28. oktober 2026. Til denne engelske side blev crontab(5)-manualsiden på man7.org, som er cronies manual, også åbnet den 31. oktober 2026. Den angiver de fem felter og deres områder, navnene på måneder og ugedage (de første tre bogstaver, uden forskel på store og små bogstaver, brugbare i lister og områder), ELLER-opførslen, når ingen af dagfelterne indeholder *, og genvejene @reboot, @yearly, @annually, @monthly, @weekly, @daily og @hourly. Den manualside angiver ikke @midnight, og den beskriver ikke OG-opførslen; disse to punkter stammer fra cronies kildekode. Forskelle i andre cron-implementeringer blev ikke kontrolleret.
Ofte stillede spørgsmål
Hvad sker der, hvis jeg angiver både dag i måneden og ugedag?
Hvis ingen af felterne starter med *, kører jobbet på de dage, der matcher en af dem (ELLER). Hvis et af felterne starter med * (også */2), kører det på de dage, der matcher begge (OG).
Hvad er forskellen på 0 og 7 i ugedagen?
Ingen. Begge betyder søndag.
Kan resultatet afvige fra det, min cron faktisk gør?
Ja. Denne beregner bruger den dato og det tidspunkt, du indtaster, som de er, og beregner ikke tidszoner eller sommertid. Andre cron-implementeringer end cronie kan også opføre sig anderledes.
Hvorfor vises der intet efter 10 år?
Søgningen stopper 10 år efter startdatoen og starttidspunktet. Et udtryk for en dato, der ikke findes, som 31. februar, kører aldrig.