Cron-forklarer
Valider og forklar tidsplaner15 2 * * 1-5Minutt 15, time 2, dag-i-måned *, måned *, ukedag 1-5.
Pedagogisk defensiv veiledning. Gjennomgå hvert resultat før produksjonsbruk.
Innledning
Cron-forklareren validerer et standard cron-uttrykk med fem felt — minutt, time, dag-i-måned, måned, ukedag — og forklarer hva det betyr på vanlig språk.
Cron-syntaks er kompakt og lett å lese feil: 0 2 * * 1-5 og 0 2 * * 1,5 betyr veldig forskjellige ting. Et ekstra sett øyne på tidsplanen forhindrer både glemte jobber og overraskelser klokken 02:00.
Mål
- Valider at et uttrykk har nøyaktig fem gyldige felt.
- Oversett feltene til en lesbar setning.
- Tilby vanlige forhåndsinnstillinger som startpunkt.
Inndata
- Et cron-uttrykk med fem felt, for eksempel 15 2 * * 1-5.
- Felt: minutt (0–59), time (0–23), dag-i-måned (1–31), måned (1–12), ukedag (0–7, der 0 og 7 er søndag).
Slik fungerer det
Uttrykket deles på mellomrom. Det må gi nøyaktig fem felt, og hvert felt må bare bestå av sifre og operatorene * / , -.
Verktøyet verifiserer ikke tallområder dypt (for eksempel passerer 99 som time tegnkontrollen) — forklaringen er ærlig om strukturen med fem felt.
Et gyldig uttrykk gir en setning som leser hvert felt bokstavelig; et ugyldig gir en tydelig feilmelding som ber om nøyaktig fem felt.
Testbart eksempel
Prøv det — analysen kjører lokalt i nettleseren din.
Eksempel
Uttrykk: 15 2 * * 1-5
Forventet utdata
Gyldig. Minutt 15, time 2, dag-i-måned *, måned *, ukedag 1-5. Tolkning: ukedager kl. 02:15.
Les utdataene
- Hvis forklaringen stemmer med det du hadde tenkt, er tidsplanen trolig riktig.
- Se opp for den klassiske fellen: dag-i-måned og ukedag kombineres med OR i standard cron (Vixie), så et uttrykk med begge begrenset kan kjøre oftere enn forventet.
- Forhåndsinnstillinger (hver time, daglig, ukentlig, hvert 5. minutt) er trygge startpunkter.
Risikoer
- En skrivefeil i minutt- eller timefeltet flytter en hel tidsplan — for eksempel kjører 30 2 * * * kl. 02:30, ikke 02:00.
- Å bruke både dag-i-måned og ukedag skaper OR-semantikk som overrasker de fleste.
- Jobber som kjører når systemet sover eller er nede, hoppes over eller utsettes avhengig av cron-implementeringen — anacron og systemd-timere oppfører seg forskjellig.
Begrensninger
- Verktøyet godtar bare standardformatet med fem felt; det tolker ikke Vixie-utvidelser som @reboot eller varianten med seks felt (sekunder).
- Områdesjekking er bevisst grunn: 99 i timefeltet passerer tegnkontrollen.
- Det forklarer uttrykket; det kan ikke verifisere at den underliggende kommandoen finnes eller har riktige tillatelser.
Offisielle referanser
FAQ
Hva godtar ukedag-feltet?
0–7, der 0 og 7 er søndag. Navn som MON godtas ikke av denne validatoren — hold deg til tall, områder og lister.
Hvorfor kjører jobben min oftere enn jeg forventet?
Hvis både dag-i-måned og ukedag er begrenset, kjører Vixie-cron jobben når en av dem matcher. Bruk * i ett av de to feltene for å få den intuitive AND-atferden.
Bør jeg bruke cron eller systemd-timere?
For nytt arbeid tilbyr systemd-timere bedre logging, avhengigheter og håndtering av glemte kjøringer. Cron er fortsatt fint for enkle, velforståtte tidsplaner.