raatools/

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

Cron Expression
* * * * *
Description

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/.