0 9 1-7 * * Openen in de cron-parser 0 9 1-7 * 1 werkt niet: als beide dagvelden zijn ingesteld, draait cron als één van beide klopt, dus op dag 1–7 én elke maandag. Quartz en Spring ondersteunen MON#1.
Veld voor veld
| Veld | Waarde | Komt overeen met |
|---|---|---|
| Minuut | 0 | 0 |
| Uur | 9 | 9 |
| Dag van de maand | 1-7 | 1, 2, 3, 4, 5, 6, 7 |
| Maand | * | Elke waarde |
| Dag van de week | * | Elke waarde |
Volgende uitvoeringen
Voorbeeld: de eerste 6 uitvoeringen na 1 januari 2026 (UTC).
- ma 5 jan 2026, 09:00
- ma 2 feb 2026, 09:00
- ma 2 mrt 2026, 09:00
- ma 6 apr 2026, 09:00
- ma 4 mei 2026, 09:00
- ma 1 jun 2026, 09:00
Kant-en-klare versies
0 9 1-7 * * [ "$(date +\%u)" = 1 ] && /path/to/command Voeg de regel toe met crontab -e. Hij draait in de tijdzone van de server, tenzij CRON_TZ of TZ is ingesteld.
apiVersion: batch/v1
kind: CronJob
metadata:
name: first-monday-of-month
spec:
schedule: "0 9 1-7 * *"
timeZone: "Etc/UTC"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: job
image: busybox:1.36
command: ["/bin/sh", "-c", "date; echo run"] Stel spec.timeZone in (Kubernetes 1.27+); anders volgt het schema de tijdzone van de controller manager, meestal UTC.
on:
schedule:
- cron: '0 9 1-7 * *'
workflow_dispatch: GitHub Actions gebruikt altijd UTC, accepteert intervallen van minstens 5 minuten en kan geplande runs bij drukte later starten.
0 0 9 ? * MON#1 Quartz zet de seconden vooraan en vereist ? in de dag van de maand of de dag van de week. Dagen lopen van 1 tot 7 vanaf zondag, dus namen zijn veiliger.
@Scheduled(cron = "0 0 9 * * MON#1") Spring @Scheduled(cron = …) gebruikt zes velden: seconden en dan de gebruikelijke vijf.
Veelgestelde vragen
› Waarom draait 0 9 1-7 * 1 te vaak?
Cron combineert dag van de maand en dag van de week met OF als beide beperkt zijn, dus draait hij op de 1e tot en met de 7e én elke maandag.
› In welke tijdzone draait 0 9 1-7 * *?
Cron gebruikt de tijdzone van de machine of dienst die hem uitvoert. Op Linux is dat de systeemtijdzone, tenzij CRON_TZ of TZ is ingesteld; Kubernetes-CronJobs accepteren spec.timeZone; GitHub Actions gebruikt altijd UTC.
› Hoe controleer ik het schema vóór het uitrollen?
Open 0 9 1-7 * * in de cron-parser op deze site. Die legt elk veld uit en toont de volgende uitvoeringen in je lokale tijd of in UTC, gewoon in je browser.