0 0 28-31 * * Openen in de cron-parser De crontab-regel gebruikt GNU date (date -d tomorrow); op macOS gebruik je date -v+1d. Quartz en Spring ondersteunen L direct. Voeg in Kubernetes en GitHub Actions dezelfde datumcontrole toe aan het begin van de taak.
Veld voor veld
| Veld | Waarde | Komt overeen met |
|---|---|---|
| Minuut | 0 | 0 |
| Uur | 0 | 0 |
| Dag van de maand | 28-31 | 28, 29, 30, 31 |
| Maand | * | Elke waarde |
| Dag van de week | * | Elke waarde |
Volgende uitvoeringen
Voorbeeld: de eerste 6 uitvoeringen na 1 januari 2026 (UTC).
- za 31 jan 2026, 00:00
- za 28 feb 2026, 00:00
- di 31 mrt 2026, 00:00
- do 30 apr 2026, 00:00
- zo 31 mei 2026, 00:00
- di 30 jun 2026, 00:00
Kant-en-klare versies
0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = 01 ] && /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: last-day-of-month
spec:
schedule: "0 0 28-31 * *"
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 0 28-31 * *'
workflow_dispatch: GitHub Actions gebruikt altijd UTC, accepteert intervallen van minstens 5 minuten en kan geplande runs bij drukte later starten.
0 0 0 L * ? 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 0 L * *") Spring @Scheduled(cron = …) gebruikt zes velden: seconden en dan de gebruikelijke vijf.
Veelgestelde vragen
› Waarom schrijf je % in crontab als \%?
In een crontab-regel betekent % een regeleinde (invoer voor het commando). Met \% komt de datumnotatie ongewijzigd in de shell aan.
› In welke tijdzone draait 0 0 28-31 * *?
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 0 28-31 * * 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.