Cron-uttrykk-generator
Bygg et cron-uttrykk felt for felt, les det med vanlige ord, se neste kjøringer i en valgfri tidssone og regn det om til systemd-, Quartz- eller AWS-format.
Med vanlige ord
Både dag i måneden og ukedag er satt: klassisk cron kjører når ENTEN den ene ELLER den andre stemmer (ikke begge).
Byggeverktøy
| Felt | Modus | Verdi |
|---|---|---|
| Sekund0–59 | ||
| Minutt0–59 | ||
| Time0–23 | ||
| Dag i måneden1–31, L | ||
| Måned1–12 eller JAN–DEC | ||
| Ukedag0–7 (0 og 7 = søndag) eller SUN–SAT |
Neste kjøringer
Andre formater
- crontab-linje
- systemd OnCalendar=
- Quartz / Spring
- AWS EventBridge
Slik bygger du et cron-uttrykk
- Skriv eller lim inn et uttrykk i Cron-uttrykk, eller velg et under Forhåndsvalg. Makroer som
@dailyeller@weeklygodtas også. - Eller bruk Byggeverktøy: for hvert felt velger du en Modus (Hver, Hver N, Bestemte verdier, Område eller Egendefinert) og fyller inn Verdi. Uttrykket oppdateres underveis, og når du redigerer uttrykket, oppdateres byggeverktøyet.
- Huk av for Legg til et sekundfelt (6 felt) hvis planleggeren din støtter sekunder.
- Les tidsplanen Med vanlige ord (på sidens språk, norsk bokmål, siden beskrivelsesbiblioteket støtter det) og sjekk deretter listen Neste kjøringer. Velg Tidssone for serveren som kjører jobben, og Hvor mange kjøringer som skal listes.
- Kopier uttrykket med Kopier, eller bruk et av Andre formater.
Feil forklares felt for felt, for eksempel «Minutt: 61 er utenfor området (0–59)», så du vet nøyaktig hva som må rettes.
De fem cron-feltene
En standard cron-linje (Vixie) har fem felt, etterfulgt av kommandoen:
| Felt | Tillatte verdier |
|---|---|
| Minutt | 0–59 |
| Time | 0–23 |
| Dag i måneden | 1–31 |
| Måned | 1–12 eller JAN–DEC |
| Ukedag | 0–7 (0 og 7 er søndag) eller SUN–SAT |
Hvert felt godtar * (alle verdier), en liste 1,15, et område 9-17, et intervall */15 (hver 15. enhet) eller et område med intervall 0-30/10. Så */15 9-17 * * 1-5 betyr hvert 15. minutt fra 09:00 til 17:45, mandag til fredag.
En regel overrasker mange: når både Dag i måneden og Ukedag er begrenset, kjører klassisk cron når enten den ene eller den andre stemmer. 0 0 13 * 5 kjører den 13. i hver måned og hver fredag, ikke bare fredag den 13. Verktøyet viser en advarsel i det tilfellet.
Neste kjøretidspunkter og tidssoner
Cron bruker klokken til maskinen, eller innstillingen CRON_TZ/TZ i crontab-filen. Listen Neste kjøringer beregnes for tidssonen du velger, inkludert overgangen mellom sommertid og normaltid: ved overgangen om våren kan en jobb satt til 02:30 bli hoppet over, og om høsten kan den kjøre én eller to ganger avhengig av implementasjonen. For jobber som må kjøre nøyaktig én gang, bør du velge tidspunkter utenfor 01:00–03:00 eller bruke UTC.
Vixie cron, systemd-timere, Quartz og AWS
- systemd-timere bruker
OnCalendar=med en annen syntaks:Mon..Fri *-*-* 09..17:00/15:00. Vilkår for ukedag og dato kombineres med OG, ikke ELLER, så noen cron-uttrykk har ingen nøyaktig tilsvarende. - Quartz og Spring setter et sekundfelt først og kan legge til et årsfelt. Ett av de to dagfeltene må være
?, og Quartz nummererer ukedager 1–7 fra søndag, i motsetning til crons 0–6. Verktøyet skriver ukedager som navn (MON-FRI) for å unngå den fellen. - AWS EventBridge bruker
cron(minutter timer dag måned ukedag år): seks felt, ingen sekunder, et?i det ene dagfeltet og et år til slutt.
Standard cron har ikke noe sekundfelt. Formen med 6 felt og sekunder støttes av mange biblioteker (node-cron, Spring, Quartz), men ikke av systemets crontab.
Ofte stilte spørsmål
Hvordan kjører jeg en jobb hvert 5. minutt?
Bruk */5 * * * *. Jobben kjører på minutt 0, 5, 10 … i hver time.
Hvordan kjører jeg en jobb den siste dagen i måneden?
Mange planleggere godtar L i feltet for dag i måneden: 0 18 L * *. Med ren Vixie cron kjører du daglig på dag 28–31 og tester i skriptet om det er den 1. i morgen.
Hva gjør @reboot?
Den kjører kommandoen én gang, når cron-tjenesten starter. Den har ingen tidsplan, så verktøyet kan ikke liste kjøretidspunkter for den.
Hvorfor kjører ikke jobben min på tidspunktet som vises?
Sjekk tidssonen til serveren, brukerens crontab mot /etc/crontab (som har et ekstra felt for bruker), og PATH: cron starter med et minimalt miljø.
Er 0 eller 7 søndag?
Begge deler. I feltet for ukedag betyr 0 og 7 søndag, 1 er mandag og 6 er lørdag.
Relaterte verktøy
- Unix-tidsstempel til dato Gjør Unix-tidsstempler i sekunder eller millisekunder om til lesbare datoer i lokal tid, UTC og ISO 8601, og gjør hvilken som helst dato om til epoch-tid igjen.
- Tidssoneomregner Regn om en dato og et klokkeslett fra én tidssone til flere andre samtidig, med sommertid håndtert automatisk. Søk etter en IANA-tidssone eller by.
- Chmod-kalkulator Regn om Unix-filtillatelser mellom avkrysningsbokser, oktal (755) og symbolsk (rwxr-xr-x) notasjon, med setuid, setgid, sticky-bit og ferdige chmod-kommandoer.