DevToolPal
NL

Cron-expressie

Elke dag om middernacht

Draait één keer per dag om 00:00. Gelijk aan de macro’s @daily en @midnight.

0 0 * * * Openen in de cron-parser

Veld voor veld

Veld Waarde Komt overeen met
Minuut 0 0
Uur 0 0
Dag van de maand * Elke waarde
Maand * Elke waarde
Dag van de week * Elke waarde

Volgende uitvoeringen

Voorbeeld: de eerste 6 uitvoeringen na 1 januari 2026 (UTC).

  1. vr 2 jan 2026, 00:00
  2. za 3 jan 2026, 00:00
  3. zo 4 jan 2026, 00:00
  4. ma 5 jan 2026, 00:00
  5. di 6 jan 2026, 00:00
  6. wo 7 jan 2026, 00:00

Kant-en-klare versies

crontab
0 0 * * * /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.

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-day-at-midnight
spec:
  schedule: "0 0 * * *"
  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.

GitHub Actions
on:
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch:

GitHub Actions gebruikt altijd UTC, accepteert intervallen van minstens 5 minuten en kan geplande runs bij drukte later starten.

Quartz
0 0 0 * * ?

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.

Spring
@Scheduled(cron = "0 0 0 * * *")

Spring @Scheduled(cron = …) gebruikt zes velden: seconden en dan de gebruikelijke vijf.

Veelgestelde vragen

› Is middernacht een goed moment voor dagelijkse taken?

Het is het drukste moment. Als de taak alleen dagelijks hoeft te draaien, kies een rustiger tijd, en onthoud dat de overgang naar zomertijd in lokale tijdzones vroege uren kan overslaan of herhalen.

› In welke tijdzone draait 0 0 * * *?

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