DevToolPal
NL

Cron-expressie

Elke 30 seconden

Cron kan niet onder een minuut plannen. De gebruikelijke truc is twee crontab-regels: één draait aan het begin van elke minuut, de andere wacht eerst 30 seconden.

* * * * * Openen in de cron-parser

Standaard-cron heeft geen secondenveld. De twee regels geven twee runs per minuut; Quartz en Spring ondersteunen seconden direct. Kubernetes en GitHub Actions kunnen taken niet zo vaak draaien.

Veld voor veld

Veld Waarde Komt overeen met
Minuut * Elke waarde
Uur * Elke waarde
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. do 1 jan 2026, 00:01:00
  2. do 1 jan 2026, 00:01:30
  3. do 1 jan 2026, 00:02:00
  4. do 1 jan 2026, 00:02:30
  5. do 1 jan 2026, 00:03:00
  6. do 1 jan 2026, 00:03:30

Kant-en-klare versies

crontab
* * * * * /path/to/command
* * * * * sleep 30; /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: Deze scheduler kan dit schema niet uitvoeren.

GitHub Actions: Deze scheduler kan dit schema niet uitvoeren.

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

Quartz
0/30 * * * * ?

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 = "*/30 * * * * *")

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

Veelgestelde vragen

› Is er een cron-expressie voor elke 30 seconden?

Niet in standaard-cron met vijf velden. Gebruik twee crontab-regels (één met sleep 30), een systemd-timer met OnUnitActiveSec=30s of Quartz 0/30 * * * * ?.

› In welke tijdzone draait * * * * *?

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