Cron-expressie Generator
Genereer, leg uit en valideer cron-expressies direct in uw browser. Visuele bouwer en expressie-parser – gratis, privé en aan de clientzijde.
Genereer, leg uit en valideer cron-expressies direct in uw browser. Visuele bouwer en expressie-parser – gratis, privé en aan de clientzijde.
Cron-expressies zijn vijf (of zes, afhankelijk van het systeem) door spaties gescheiden velden die een schema beschrijven: minuut, uur, dag van de maand, maand en dag van de week. Elk veld accepteert numerieke waarden, bereiken, lijsten, verhogingen en jokertekens. Cron is sinds eind jaren zeventig het de facto Unix-planningsformaat en wordt nu veel verder dan Unix gebruikt – door Kubernetes CronJobs, GitHub Actions, AWS EventBridge-regels, Jenkins-taken en bijna elk ander planningssysteem in productie.
Het handmatig lezen en schrijven van cron-expressies is foutgevoelig. De velden zijn positioneel, de interactie tussen de dag van de maand en de dag van de week is niet voor de hand liggend (een waarde in een van beide velden activeert de taak, niet in beide), en fouten produceren stilletjes schema's die er goed uitzien, maar op de verkeerde momenten afgaan. Een generator die schema's in eenvoudig Engels vertaalt naar de juiste cron-syntaxis vermijdt deze fouten.
Deze tool biedt twee richtingen: het bouwen van een cron-expressie vanuit een vriendelijk formulier (elke maandag om 9.00 uur, elke 5 minuten tijdens kantooruren), en het uitleggen van een bestaande cron-expressie in menselijke termen. Beide draaien in uw browser zonder enige serverinteractie.
De Cron-syntaxis is compact en meedogenloos. Veelgemaakte fouten zijn onder meer het verwarren van de nummering van de dag van de week (zondag is 0 of 7, afhankelijk van het systeem), het vergeten van de semantiek van de dag van de maand en de dag van de week, en het verkeerd begrijpen van de syntaxis van de ophogingen (*/5 betekent elke 5, beginnend bij 0). Een generator vangt deze op door middel van constructie; de geproduceerde uitdrukkingen komen overeen met wat u in het formulier hebt beschreven.
Het lezen van bestaande uitdrukkingen is net zo moeilijk. Een schema als 0 9 * * 1-5 ziet eruit als elke weekdag om 9.00 uur als je eenmaal de syntaxis kent, maar iedereen die niet bekend is met cron moet elk veld opzoeken. Het uitleggen van de uitdrukking in menselijke termen is sneller dan het leren van de syntaxis voor eenmalige interacties.
Kies een schemapatroon en haal de cron-expressie op.
Standaard cron heeft vijf velden: minuut (0–59), uur (0–23), dag van de maand (1–31), maand (1–12), dag van de week (0–6 of 0–7, beide zondag). Elk veld accepteert een enkele waarde, een door komma's gescheiden lijst, een bereik met koppelteken, verhoogd met / of een jokerteken met *.
Gebruik OR-semantiek voor dag van de maand en dag van de week: als een van beide is ingesteld op een waarde zonder jokertekens, wordt de taak uitgevoerd wanneer een van beide overeenkomt. Dit is contra-intuïtief, maar komt overeen met POSIX cron-gedrag. Het instellen van beide velden levert een breder schema op, niet een smaller schema.
Extensies variëren per implementatie. Sommigen accepteren een zesde veld voor seconden (Quartz, Spring); sommigen accepteren? als wildcardalternatief; sommige bevatten de snelkoppelingen @yearly, @monthly en @daily. De generator produceert standaard cron met 5 velden, geschikt voor de meeste systemen.