⏱️
← Terug naar handleidingen

Cron-expressies Valideren: Een Stapsgewijze Gids

· Tags: cron-validation, cron-debugging, cron-syntax-check, schedule-validation, linux-crontab

Cron-expressies Valideren

Cron-expressies zijn compact maar makkelijk verkeerd te krijgen. Een verkeerd geplaatste schuine streep of een waarde buiten het bereik kan ervoor zorgen dat een taak op het verkeerde moment wordt uitgevoerd — of helemaal niet. Expressies vóór de implementatie valideren bespaart uren aan debuggen wanneer een kritieke taak stil faalt.

Veelvoorkomende Syntaxis-fouten

Waarden Buiten het Bereik

Elk veld accepteert een specifiek bereik. Waarden buiten dit bereik zijn ongeldig.

# Invalid: minute 60 is out of range (0-59)
60 * * * *

# Invalid: hour 24 is out of range (0-23)
0 24 * * *

Ontbrekende Velden

Een cron-expressie vereist precies vijf velden. Vier velden is ongeldig, zes velden vereisen uitgebreide syntaxis.

# Invalid: only 4 fields (missing day of week)
0 0 * *

# Invalid: 6-field syntax without proper daemon support
0 0 * * * * /command.sh

Tel altijd: minuut, uur, dag-van-de-maand, maand, dag-van-de-week.

Onjuiste Stapwaarden

# Invalid: cannot step by 0
*/0 * * * *

# Invalid: step exceeds field maximum
*/61 * * * *

Stapwaarden moeten beginnen bij 1 en mogen het maximum van het veld niet overschrijden.

Een Cron-expressie Valideren

Stap 1: Ontleden in Velden

Splits op spaties en controleer dat er precies vijf velden zijn:

Expressie: 30 6 * * 1-5
Velden:    minuut=30, uur=6, dag=*, maand=*, weekdag=1-5

Stap 2: Elk Veld Valideren

| Veld | Toegestaan bereik | Accepteert speciale tekens | |-------|--------------|-----------------------| | Minuut | 0-59 | * , - / | | Uur | 0-23 | * , - / | | Dag van de Maand | 1-31 | * , - / | | Maand | 1-12 | * , - / | | Dag van de Week | 0-7 | * , - / |

Stap 3: Controleren op Conflicten

Sommige expressies zijn syntactisch geldig maar logisch verrassend:

# Runs on the 15th OR every Sunday — an OR condition
0 0 15 * 0

Dag-van-de-maand en dag-van-de-week samen creëren een OF-voorwaarde in standaard cron. De taak wordt uitgevoerd wanneer een van beide overeenkomt.

Stap 4: Aankomende Tijden Bekijken

Genereer uitvoeringstijden om je planning visueel te verifiëren:

Expressie: 0 2 * * 1
Volgende 5 uitvoeringen:
  1. 2026-07-27 02:00:00 (maandag)
  2. 2026-08-03 02:00:00 (maandag)
  3. 2026-08-10 02:00:00 (maandag)

Als de preview niet overeenkomt met je bedoeling, corrigeer de expressie vóór de productie.

Taken Oplossen Die Niet Worden Uitgevoerd

Een geldige expressie die niet wordt uitgevoerd, is meestal een systeemprobleem:

  • Rechten — het script moet uitvoeringsrechten hebben (chmod +x).
  • Pad — cron gebruikt een minimale PATH. Gebruik altijd absolute paden: /usr/local/bin/mybackup.sh en niet mybackup.sh.
  • Omgeving — cron laadt geen shell-profielen. Exporteer variabelen binnen de crontab of in het script zelf.
  • Logging — leid de uitvoer om om de uitvoering te bevestigen:
0 6 * * * /path/to/script.sh >> /var/log/cron.log 2>&1

De Validator-tool Gebruiken

De cron-expressievalidator biedt drie functies:

  1. Syntaxisvalidatie — directe feedback over veldwaarden en opmaak.
  2. Planningspreview — bekijk aankomende uitvoeringstijden vanaf de huidige datum.
  3. Visuele kalender — geplande uitvoeringen weergegeven op een maandkalender.

Geen enkele cron-expressie mag worden geïmplementeerd zonder de eerstvolgende uitvoeringstijden te bekijken. Een check van dertig seconden voorkomt stille planningsfouten.

Cron-expressies Valideren: Een Stapsgewijze Gids - CoolTool