Cron-expressies maken

Beschrijf een schema en krijg de cron-expressie die het uitvoert, met de volgende uitvoeringen in de gekozen tijdzone.

De rest van het formulier volgt hieruit.
Het interval in minuten, geteld vanaf het begin van het uur.
Wordt alleen gebruikt om de volgende uitvoeringen te tonen. De expressie zelf heeft geen tijdzone.

Expressie

0 3 * * *

Om 03:00.

Volgende uitvoering
2026-10-10 03:00 UTC

Volgende uitvoeringen

  • Za 2026-10-10 03:00
  • Zo 2026-10-11 03:00
  • Ma 2026-10-12 03:00
  • Di 2026-10-13 03:00
  • Wo 2026-10-14 03:00
  • Do 2026-10-15 03:00

Zeg wanneer de taak moet draaien en dit schrijft de bijbehorende crontab-regel, met de volgende keren dat hij afgaat, zodat je het antwoord kunt controleren in plaats van het op goed vertrouwen aan te nemen.

Hoe het werkt

Een frequentie bepaalt welke van de vijf velden vastliggen en welke open blijven. Eén keer per uur legt de minuut vast; één keer per dag ook het uur; één keer per week voegt de dag van de week toe; één keer per maand de dag van de maand; één keer per jaar ook de maand. Meerdere keren per uur schrijft een stap in het minutenveld, geteld vanaf het begin van het uur.

De expressie wordt daarna opnieuw gelezen door dezelfde parser die de lezer gebruikt, en uit die lezing komen de uitvoertijden en de zin. Er wordt niets over het resultaat beweerd wat niet uit de expressie zelf is afgeleid.

Er wordt nooit meer dan één dagveld vastgelegd, dus de expressies die hier worden geschreven vallen nooit onder de dagregel van cron, die waarbij het genoeg is dat een dag met een van beide beperkingen overeenkomt.

Voorbeelden

Geval Invoer Resultaat
Een nachtelijke back-up Eén keer per dag, om 03:30 30 3 * * *
Elk kwartier Meerdere keren per uur, elke 15 minuten */15 * * * *
Een rapport op maandagochtend Eén keer per week, maandag om 08:00 0 8 * * 1

Veelgestelde vragen

Waarom kan ik “elke werkdag om 9 en om 17 uur” niet maken?

Omdat een formulier voor elke vorm die cron toestaat gewoon de crontab-syntaxis is, maar met meer vakjes. De frequenties hier dekken wat de meeste taken nodig hebben; voor al het andere schrijf je de expressie zelf en controleer je haar in de lezer, die uitlegt wat je hem geeft.

Welke tijdzone gebruikt de expressie?

Geen. Een crontab-regel heeft geen tijdzone: hij draait in de tijdzone van de machine waarop hij is geïnstalleerd. De tijdzone die je hier kiest, bepaalt alleen tegen welke klok de volgende uitvoeringen worden getoond, dus zet hem gelijk aan die van de machine om te zien wat die echt gaat doen.

Wat gebeurt er als ik de 31e van elke maand vraag?

De expressie wordt geschreven en cron slaat de maanden zonder 31e over. De uitvoertijden laten dat zien: ze slaan februari, april, juni, september en november over.

Gaat “meerdere keren per uur” af op het hele uur?

Ja. De stap wordt geteld vanaf minuut nul, dus elke 20 minuten betekent :00, :20 en :40. Hij begint aan het begin van elk uur opnieuw, en daarom laat een stap die 60 niet deelt daar een kort gat.

Goed om te weten

  • Crontab-syntaxis met vijf velden. De `@daily`-familie en de uitbreidingen die sommige planners toevoegen — een secondeveld, `L`, `W`, `#` — worden hier niet geschreven.
  • De volgende uitvoeringen worden berekend uit de kalender. Wat een bepaalde cron-daemon doet als de klok wordt verzet, hangt af van de implementatie en wordt niet gemodelleerd.

Bronnen

Alle tools in Code