Samenvatting

Deze cron-expressiegenerator zet een schemabeschrijving of een geplakte cron-string om in een gevalideerde expressie van 5 velden: minuut, uur, dag van de maand, maand en dag van de week. Kies een veelgebruikte voorinstelling zoals om de 5 minuten of werkdagen om 9 uur, of bewerk elk veld direct, met ondersteuning voor bereiken, lijsten en stapwaarden. Het gereedschap geeft een heldere omschrijving van het schema en berekent de volgende vijf uitvoertijden in UTC, met dezelfde dag-van-maand en dag-van-week OR-logica die vixie-cron en Kubernetes CronJob gebruiken, zodat wat u hier ziet overeenkomt met wat daadwerkelijk in productie wordt afgevuurd.

Cron-expressiegenerator voor geplande taken en rollout-vensters

Deze cron expressie generator maakt een 5-velden cron-expressie van voorinstellingen of plak er een om deze te controleren. Krijg een helder omschrijving en de volgende vijf uitvoertijden voordat het schema wordt geïmplementeerd.

Cron-expressiegenerator

Kies hieronder velden of een voorinstelling. De expressie, een heldere omschrijving en de volgende vijf uitvoertijden worden bijgewerkt terwijl u typt.

0 9 * * 1-5

Achter de schermen

Hoe deze cron-expressiegenerator werkt

Vijf velden, standaardsyntaxis

Minuut, uur, dag van de maand, maand en dag van de week: dezelfde velden die crontab, GitHub Actions schedule en Kubernetes CronJob allemaal lezen. Bereiken (9-17), lijsten (1,15,30), stappen (*/5) en jokertekens worden op dezelfde manier geparseerd als in productie.

Dagvelden worden OF'd, niet EN'd

Stel dag van de maand in op 1 en dag van de week op maandag, en de taak wordt uitgevoerd op de eerste van de maand of op een willekeurige maandag, niet alleen als beide samenvallen. Zo evalueren vixie-cron en Kubernetes CronJob het daadwerkelijk, en het is het detail dat de meeste generatoren overslaan.

Volgende vijf uitgaven, live berekend

Elke bewerking berekent vijf UTC-tijdstempels opnieuw door vooruit te lopen in de echte kalender, dus een schema dat nooit kan worden uitgevoerd, zoals dag 30 in februari, verschijnt hier leeg in plaats van stil dood in een crontab te zitten.

Plak om te controleren, niet alleen om te bouwen

Heb je al een cron-string van een teamgenoot, een CronJob-manifest of een oud Stack Overflow-antwoord? Plak het in het veld en krijg dezelfde beschrijving en uitvoertijden, geen aparte validator nodig.

Hoe te gebruiken

Van lege velden naar een schema dat u vertrouwt

  1. 1

    Begin met een voorinstelling

    Kies een veelgebruikt schema (om de 5 minuten, werkdagen om 9 uur, maandelijks op de 1e) of laat de standaardwaarden staan en pas deze aan.

  2. 2

    Pas de relevante velden aan

    Gebruik de snelle keuzeverzamelingen of typ direct: kommalijsten, streepjes voor bereiken en */N voor stappen werken in elk veld.

  3. 3

    Bevestig voordat u het implementeert

    Lees de heldere omschrijving en controleer de volgende vijf uitvoertijden aan de hand van uw onderhoudvenster of SLO-budget, kopieer de expressie vervolgens naar uw crontab, CI-schema of CronJob-manifest.

Implementatiedetail

Waarom de dag-van-maand- en dag-van-week-velden OR-logica gebruiken

POSIX/vixie-cron, de implementatie achter Linux crontab en Kubernetes CronJob, heeft een vreemd regel dat de meeste mensen nooit lezen. Als zowel de dag-van-maand- als de dag-van-week-velden zijn beperkt zonder *, wordt de taak uitgevoerd wanneer een van beide overeenkomt, niet alleen wanneer beide dit doen. Stel dag-van-maand in op 1 en dag-van-week op maandag, en het schema wordt afgevuurd op de eerste van de maand en op elke maandag, niet alleen op een maandag die toevallig de eerste is. Laat een van beide velden als *, en alleen de beperkte beperkt de dag. Deze generator volgt die conventie omdat het is wat daadwerkelijk uw crontab uitvoert, niet een vereenvoudigde versie ervan. Het is het belangrijkst voor het soort schema dat een platformteam om 23:00 uur schrijft: voer dit uit op de eerste werkdag of de eerste van de maand, wat het eerst komt, ziet er voor de meeste mensen uit als EN en gedraagt zich als OF in productie.

  • POSIX/vixie-cron (Linux crontab, Kubernetes CronJob): OF zodra een van beide dagvelden is beperkt
  • Quartz cron (gebruikelijk in Java-gebaseerde planners): vereist meestal dat een van de twee dagvelden ? blijft in plaats van *, waardoor ambiguïteit helemaal wordt vermeden
  • Deze generator volgt de POSIX/vixie-cron-conventie, omdat dit is wat crontab en CronJob daadwerkelijk uitvoeren
Macrofoto van een analoge klok met tandwielen voor een vervaagde serverrek

Veelgestelde vragen

Is deze cron-expressiegenerator gratis?
Ja. Het werkt volledig in uw browser, geen account, geen snelheidslimiet en geen gegevens verzonden behalve een anoniem paginaweergavebeacon.
In welke tijdzone worden de volgende uitvoertijden weergegeven?
UTC. De meeste crontabs, GitHub Actions-schema's en Kubernetes CronJob-resources zijn standaard ingesteld op UTC of de systeemtijd van de container, dus dit vermijdt een tijdzonejaarvergrooting. Bevestig uw eigen systeemtijdzone voordat u op het exacte moment vertrouwt.
Waarom worden dag-van-maand 1 en dag-van-week maandag beide uitgevoerd, niet alleen als ze elkaar overlappen?
Omdat dat hoe cron zelf zich gedraagt. Standaard vixie-cron-implementaties, inclusief Linux crontab en Kubernetes CronJob, evalueren die twee velden met OF-logica zodra een van beide is beperkt zonder *. Dit hulpmiddel komt opzettelijk overeen met dat gedrag.
Ondersteunt het @daily, @reboot of andere snelkoppelingsmacro's?
Nee, alleen de vijf standaard numerieke velden, omdat dit is wat de meeste orchestrators toch vereisen. @daily wijst toe aan 0 0 * * *, @hourly aan 0 * * * * en @weekly aan 0 0 * * 0.
Wordt mijn schema naar een server verzonden?
Nee. Parsering, de heldere omschrijving en de volgende berekening worden allemaal aan de clientzijde uitgevoerd. Niets over de velden die u typt, wordt verzonden of opgeslagen.
Houdt de volgende berekening rekening met zomertijd?
Nee, alles wordt berekend in UTC, dat geen zomertijd heeft. Als het systeem waarop uw cron-daemon wordt uitgevoerd, lokale tijd met zomertijd gebruikt, controleert u de offset twee keer per jaar afzonderlijk rond de overgangsdatums.
Kan ik maand- of weekdagnamen in plaats van nummers typen?
Ja. jan tot dec en sun tot sat werken in de maand- en dag-van-week-velden naast de numerieke 1-12 en 0-6 bereiken, inclusief in bereiken en lijsten.

De cron-taak wordt afgevuurd. Wat hekelt de implementatie die het activeert?

upstreamapi koppelt feature-flag rollouts aan een SLO-budget, dus een door cron geactiveerde implementatie kan automatisch terugdraaien voordat de pager afgaat, niet daarna.