Naar inhoud springen

Cron-expressies maken en uitleggen

Stel een cron-schema visueel samen, lees het in gewoon Nederlands en bekijk de volgende uitvoertijden in elke tijdzone, voor standaard, Quartz en AWS, in je browser.

In gewoon Nederlands

At 09:30, on Monday through Friday

Voorinstellingen

Visueel opbouwen

Volgende 10 uitvoeringen

Berekenen…

Tijdstippen die door een wijziging van zomertijd worden overgeslagen, worden niet uitgevoerd; een herhaald uur wordt één keer uitgevoerd. Echte cron-daemons wijken hier iets van af.

Spiekbriefje – Standaard
VeldToegestane waarden
Minuut0–59
Uur0–23
Dag van de maand1–31
Maand1–12 of JAN–DEC
Dag van de week0–7 (0 en 7 = zondag) of SUN–SAT
SymboolBetekenis
*elke waarde
,lijst: 1,15 = de 1e en de 15e
-bereik: 1-5 = 1 tot en met 5
/stap: */15 = elke 15; 5/15 = 5, 20, 35, 50
@dailymacro's: @yearly @monthly @weekly @daily @hourly (en @reboot)

Als zowel de dag van de maand als de dag van de week is beperkt, draait standaard cron op dagen die aan een van beide voldoen.

Werkt in je browser · geen uploadZo werkt het

Zo gebruik je Cron-expressiebuilder

  1. 1

    Kies het dialect

    Kies standaard cron, cron met seconden, Quartz of AWS EventBridge – of plak gewoon een expressie en laat het aantal velden beslissen.

  2. 2

    Schrijf of bouw het schema

    Typ een expressie, begin met een voorinstelling of stel elk veld in met de visuele editor.

  3. 3

    Lees het terug

    Controleer de beschrijving in gewoon Nederlands en de gemarkeerde velden, zodat het schema echt doet wat je bedoelt.

  4. 4

    Bekijk de volgende uitvoeringen

    Kies een tijdzone, controleer de volgende 10 uitvoeringstijden en kopieer daarna de expressie.

Limieten en Pro

Gratis zonder account: 4 dialecten, 12 voorinstellingen en de volgende 10 uitvoeringstijden in een van de 400+ tijdzones, tot 30 jaar vooruit gezocht (of tot het laatste jaar van de expressie).

Pro verwijdert de advertenties; de builder werkt in elk abonnement hetzelfde. Pro bekijken

Over Cron-expressiebuilder

Een cron-expressie stopt een schema in een paar velden, gescheiden door spaties, en één verkeerd geplaatst getal kan van “elke werkdag om 9 uur” maken: “elke minuut van het negende uur”. Met deze builder schrijf of plak je een expressie en zie je meteen een beschrijving in gewoon Nederlands, met elk veld gelabeld, plus de eerstvolgende tien momenten waarop het schema afgaat.

Er zijn vier dialecten, omdat ze echt van elkaar verschillen. Standaard cron heeft vijf velden – minuut, uur, dag van de maand, maand en dag van de week – en wordt gebruikt door crontab, Linux-cron-daemons, Kubernetes CronJobs en GitHub Actions. Ook macro's zoals @daily worden begrepen. Het dialect met seconden voegt vooraan een veld voor seconden toe, zoals in node-cron en croner. Quartz gebruikt zes of zeven velden met seconden en een optioneel jaar, telt zondag als 1, vereist een ? in een van de dagvelden en kent L voor “laatste”, W voor “dichtstbijzijnde werkdag” en # voor “derde vrijdag”. AWS EventBridge heeft zes velden, eindigend op een jaar, hanteert dezelfde dagregels als Quartz en wordt geschreven als cron(…). Bij het plakken van een expressie schakelt het dialect om als het aantal velden duidelijk is, en als je van dialect wisselt, wordt je expressie waar mogelijk omgezet.

In de visuele editor stel je elk veld in met de opties voor elke / elke N / specifieke waarden / bereik, en de voorinstellingen dekken veelvoorkomende taken. Uitvoeringstijden worden berekend in elke IANA-tijdzone, met aandacht voor de overgang naar zomer- en wintertijd. EventBridge-regels staan standaard op UTC, zoals AWS ze beoordeelt.

De builder controleert alleen syntaxis en timing: hij kent de klok van je server niet, mist geen gemiste uitvoeringen terwijl een machine uit stond en kent geen beperkingen van specifieke schedulers, zoals het minimale interval van GitHub.

Privacy

Expressies worden verwerkt en de uitvoeringstijden berekend door code op deze pagina, met de tijdzonegegevens van je browser. Er wordt niets naar een server gestuurd. Het gekozen dialect en de tijdzone worden bewaard in lokale opslag voor je volgende bezoek.

Functies

Uitleg in gewoon Nederlands

“Om 09:30, van maandag tot en met vrijdag” in plaats van gokken wat 30 9 * * 1-5 doet.

Volgende 10 uitvoeringen, elke zone

Uitvoeringstijden in UTC of een andere IANA-tijdzone, met zomer- en wintertijd verwerkt.

Quartz- en AWS-syntaxis

Seconden, jaren, ?, L, W en # voor de schedulers die ze ondersteunen.

Cron-expressiebuilder: veelgestelde vragen

Waarom draait mijn taak op meer dagen dan ik verwachtte?
In standaard cron draait de taak, als zowel het veld voor dag van de maand als dat voor dag van de week is beperkt, zodra een van beide klopt. Dus 0 9 13 * 5 draait op elke 13e én op elke vrijdag, niet alleen op vrijdag de 13e. De beschrijving hier maakt dat duidelijk. Quartz en AWS voorkomen die dubbelzinnigheid door een ? in een van beide velden te eisen.
Wat betekent */15 in een cron-expressie?
De schuine streep is een stap: */15 in het minutenveld betekent elke 15 minuten vanaf 0, dus om :00, :15, :30 en :45. Met een beginwaarde schuift het op: 5/15 draait om :05, :20, :35 en :50. In combinatie met een bereik betekent 9-17/2 in het uurveld om het andere uur van 9 tot en met 17.
Welke tijdzone gebruikt cron?
Een klassieke cron-daemon gebruikt de lokale tijdzone van de server, tenzij de crontab CRON_TZ of TZ instelt. Kubernetes CronJobs gebruiken standaard de zone van de controller maar accepteren een timeZone-veld, GitHub Actions draait in UTC en EventBridge-regels gebruiken altijd UTC, terwijl je bij EventBridge Scheduler zelf een zone kiest. Kies hier de bijpassende zone om de echte uitvoeringstijden te zien.
Wat gebeurt er rond de overgang naar zomer- of wintertijd?
Als de klok vooruit gaat, bestaan de lokale tijden in het overgeslagen uur niet, en als hij terug gaat, komt een uur twee keer voor. Dit voorbeeld slaat niet-bestaande tijden over en voert herhaalde tijden één keer uit. Echte daemons verschillen: Vixie cron en cronie proberen overgeslagen taken alsnog te draaien. Gebruik daarom voor taken tussen 01:00 en 03:00 lokale tijd liever UTC of raadpleeg de documentatie van je scheduler.
Hoe zet ik een crontab-regel om naar Quartz- of AWS-formaat?
Kies het nieuwe dialect in de lijst en de expressie wordt omgezet: voor Quartz komt er een veld voor seconden bij, voor AWS een jaarveld, de nummers van de dag van de week gaan van 0–6 naar 1–7 en in het ongebruikte dagveld komt een ?. Stelt het origineel zowel een dag van de maand als een dag van de week in, dan krijg je een melding dat het doeldialect die combinatie niet kan uitdrukken.