Hoe cron-expressies te bouwen

· 4 min leestijd

Cron-expressies zijn de standaardmanier om recurrente schema's te definiëren onder Linux, op cloudplatforms, in CI/CD-pijplijnen en taakplanners. De syntaxis is compact maar weinig intuïtief — een visuele generator toont u precies wanneer uw taak zal worden uitgevoerd.

Cron-syntaxis

Een cron-expressie heeft 5 velden:

┌───────────── minuut (0-59)
│ ┌───────────── uur (0-23)
│ │ ┌───────────── dag van de maand (1-31)
│ │ │ ┌───────────── maand (1-12)
│ │ │ │ ┌───────────── dag van de week (0-6, zondag=0)
│ │ │ │ │
* * * * *

Veelvoorkomende cron-schema's

Schema Expressie Betekenis
Elke minuut * * * * * Voert elke 60 seconden uit
Elke 5 minuten */5 * * * * Op :00, :05, :10, :15...
Elk uur 0 * * * * Aan het begin van elk uur
Elke dag om middernacht 0 0 * * * Eens per dag om 00:00
Elke dag om 9 uur 0 9 * * * Eens per dag om 09:00
Elke maandag om 8 uur 0 8 * * 1 Wekelijks op maandag
De 1e van elke maand 0 0 1 * * Maandelijks om middernacht op de 1e
Werkdagen om 18 uur 0 18 * * 1-5 Maandag tot vrijdag

Hoe een cron-expressie te bouwen

  1. Definieer uw schema — gebruik de visuele bedieningselementen om de waarden van minuut, uur, dag, maand en dag van de week te selecteren. Of begin vanuit een preset zoals « elk uur » of « elke dag om middernacht ».
  2. Bekijk de uitvoeringen in voorbeeld — de generator toont de 5 volgende uitvoeringen om te controleren of het schema correct is.
  3. Kopieer de expressie — plak deze in uw crontab, uw CI/CD-config of uw cloud-planner.

Speciale tekens

Teken Betekenis Voorbeeld
* Elke waarde * * * * * = elke minuut
*/n Elke n */15 * * * * = elke 15 min
, Meerdere waarden 0 8,12,18 * * * = 8 u, 12 u, 18 u
- Bereik 0 9-17 * * * = elk uur van 9 tot 17 u

Tips

Veelgestelde vragen

Wat is het formaat van een cron-expressie?

Een standaard cron-expressie heeft 5 velden gescheiden door spaties, die minuut (0-59), uur (0-23), dag van de maand (1-31), maand (1-12) en dag van de week (0-6, waar 0 zondag is) vertegenwoordigen. Een sterretje (*) betekent « elke » waarde voor dat veld.

Wat betekent */5 in cron?

De syntaxis */5 betekent « elke 5 ». In het minuutveld betekent */5 elke 5 minuten (0, 5, 10, 15...). In het uurveld betekent */5 elke 5 uur. Het werkt in elk veld.

Zijn cron-expressies identiek op alle platforms?

Het 5-veldformaat is standaard op Linux cron, AWS EventBridge, GitHub Actions en de meeste planningssystemen. Sommige platforms voegen een 6e veld toe voor seconden of jaar. Raadpleeg de documentatie van uw platform.

Hoe plan ik voor de laatste dag van elke maand?

Standaard cron heeft geen sleutelwoord « laatste dag ». Gebruik een omweg zoals een dagelijkse uitvoering met een datumcontrole in uw script, of gebruik platform-specifieke uitbreidingen (AWS EventBridge ondersteunt L voor « last »).