Cron-uttrykksgenerator
Bygg og dekod fem-felts cron-uttrykk visuelt.
Format: minute hour day-of-month month day-of-week
Use * for any value, 0-5 for ranges, 1,3,5 for lists, */5 for every N
* * * * * every minute
Hva er cron?
Cron er den standard jobbplanleggeren som finnes i Unix- og Linux-operativsystemer. Den kjører kommandoer eller skript på angitte tidspunkter og intervaller, noe som gjør den essensiell for systemadministrasjon, DevOps-automatisering og planlegging av backend-applikasjoner. Navnet kommer fra det greske ordet chronos, som betyr tid.
Et cron-uttrykk er en kompakt streng med fem felt som definerer når en jobb skal kjøres. Hvert felt angir en tidskomponent — minutt, time, dag i måneden, måned og ukedag. Sammen kan disse fem feltene uttrykke tidsplaner fra «hvert minutt» til «én gang i året på en bestemt dato».
Cron-syntaks forklart
Hvert av de fem feltene godtar bestemte verdier og spesialtegn. En stjerne (*) betyr «hver mulige verdi». Et tall setter en spesifikk verdi. En bindestrek (1-5) definerer et område. Et komma (1,3,5) oppretter en liste. En skråstrek (*/5) setter et trinnintervall. Kombinasjon av disse operatorene lar deg bygge praktisk talt enhver tidsplan.
Feltreferanse
- Minutt (0–59): Minuttet i timen når jobben kjøres.
- Time (0–23): Timen på dagen i 24-timersformat. 0 er midnatt, 12 er midt på dagen.
- Dag i måneden (1–31): Kalenderdagen. Ikke alle måneder har 31 dager — cron hopper automatisk over ugyldige datoer.
- Måned (1–12): Kalendermåneden. 1 er januar, 12 er desember.
- Ukedag (0–6): Ukedagen. 0 er søndag, 6 er lørdag. Noen systemer godtar også 7 for søndag.
Vanlige cron-uttrykk
0 0 * * *— 0 0 * * * — Hver dag ved midnatt.0 9 * * 1-5— 0 9 * * 1-5 — Hverdager kl. 09:00.0 0 1 * *— 0 0 1 * * — Første dag i hver måned ved midnatt.*/15 * * * *— */15 * * * * — Hvert 15. minutt.0 */4 * * *— 0 */4 * * * — Hver 4. time på hele timen.
Vanlige cron-feil
Den vanligste feilen er å sette felt i feil rekkefølge. Cron leser alltid minutt først, deretter time — så «0 9» betyr kl. 09:00, ikke minutt 9. En annen fallgruve er å glemme at serverens tidssone bestemmer når cron kjører. Hvis serveren er i UTC men du forventer lokal tid, vil jobber utløses i feil time.
Unngå å planlegge ressurskrevende jobber nøyaktig ved midnatt (0 0 * * *) fordi mange andre cron-jobber kjører samtidig. Forskyv jobbene dine med noen minutter for å unngå belastningstopper. Vær også oppmerksom på jobber som tar lengre tid enn intervallet — hvis en jobb kjøres hvert minutt men tar 3 minutter, vil du få overlappende instanser.
Beste praksis
Omdiriger alltid cron-utdata til en loggfil (>> /var/log/myjob.log 2>&1) slik at du kan feilsøke problemer. Bruk absolutte stier for kommandoer og skript fordi cron kjører med et minimalt PATH-miljø. Test uttrykket ditt med et verktøy som dette før du ruller ut til produksjon.
For komplekse planleggingsbehov kan du vurdere cron-alternativer som systemd-tidtakere (Linux), Celery Beat (Python) eller skyplanleggere (AWS EventBridge, Google Cloud Scheduler). Disse tilbyr funksjoner som forsøkslogikk, overvåkingsdashbord og distribuert kjøring som standard cron mangler.
Ofte stilte spørsmål
Kan cron kjøre en jobb hvert 30. sekund?
Nei. Crons minste oppløsning er ett minutt. For å kjøre en oppgave hvert 30. sekund planlegger du den hvert minutt og legger til en 30-sekunders pause før en andre kjøring i samme skript. Alternativt kan du bruke en systemd-tidtaker eller en språkspesifikk planlegger for intervaller under ett minutt.
Hvor er crontab-filen plassert?
Bruker-crontaber er lagret i /var/spool/cron/ (Red Hat/CentOS) eller /var/spool/cron/crontabs/ (Debian/Ubuntu). Rediger din med «crontab -e» i stedet for å endre filer direkte. System-crontaben er på /etc/crontab, og tilleggsjobber kan plasseres i /etc/cron.d/.