Cron-expressieparser
Opmaak: minuut uur dag van de maand maand dag van de week
U erft een crontab die vol staat met expressies als 0 */2 * * 1-5, 15 4 1 * * en */30 8-18 * * *. Deze parser neemt een standaard cron-expressie met 5 velden en geeft een beschrijving in eenvoudig Engels terug (‘every 2 hours on weekdays’), samen met de volgende 5 momenten waarop de taak daadwerkelijk wordt uitgevoerd. Handig om bestaande planningen te begrijpen en een nieuwe planning te controleren voordat u deze in productie zet.
Hoe u een cron-expressie verwerkt
-
1
Plak de expressie
Een standaard expressie met 5 velden (`* * * * *`): minuut, uur, dag van de maand, maand en dag van de week.
-
2
Lees de beschrijving in het Engels
De parser herschrijft elk veld in eenvoudig Engels, bijvoorbeeld "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
Controleer de voorvertoning van de volgende uitvoering
5 komende uitvoeringsmomenten. Als deze niet overeenkomen met uw bedoeling, verfijn dan de expressie.
-
4
Corrigeer ongeldige velden
Expressies met een verkeerd aantal velden of waarden buiten het bereik worden afgewezen met een fout die het probleemveld benoemt.
Decodering van elk veld
Elk veld heeft zijn eigen geldige bereik en speciale tekens:
| Veld | Bereik | Ondersteunde jokertekens |
|---|---|---|
| Minuut | 0-59 | * , - / |
| Uur | 0-23 | * , - / |
| Dag van de maand | 1-31 | * , - / |
| Maand | 1-12 | * , - / |
| Dag van de week | 0-7 | * , - / |
*= elke waarde (*in het minuutveld betekent elke minuut).1,5,10= een lijst van waarden.1-5= een bereik van waarden.*/15of0-45/15= een stap, geteld vanaf het begin van het veldbereik.- De dagen van de week
0en7zijn allebei zondag, dus beide conventies worden geaccepteerd. Namen van maanden en dagen zoals JAN of MON worden niet geaccepteerd; gebruik cijfers.
Voorbeelden ontcijferd
| Expressie | In het Engels |
|---|---|
0 */2 * * 1-5 |
At minute 0 every 2 hours, Monday through Friday |
15 4 1 * * |
At 04:15 on the 1st day of every month |
*/30 8-18 * * * |
Every 30 minutes between 08:00 and 18:59 |
0 0 1,15 * * |
At midnight on the 1st and 15th of every month |
0 22 * * 0 |
At 22:00 every Sunday |
Wat de parser accepteert
- Precies 5 velden: minuut, uur, dag van de maand, maand en dag van de week. Quartz-expressies met 6 of 7 velden (met seconden of jaar) worden afgewezen.
- Geldige bereiken: elke waarde moet in zijn veld passen, bijvoorbeeld minuut 0-59, uur 0-23, dag van de maand 1-31, maand 1-12 en dag van de week 0-7.
- Positieve stappen: de waarde na
/moet een positief getal zijn (*/0wordt afgewezen). - Geen benoemde snelkoppelingen:
@daily,@rebooten vergelijkbare snelkoppelingen worden niet geaccepteerd. Breid ze eerst uit naar hun vorm met 5 velden (bijvoorbeeld@daily=0 0 * * *).
Dag van de maand en dag van de week gecombineerd
Wanneer zowel de dag van de maand als de dag van de week zijn ingesteld, plant deze parser een uitvoering alleen als beide overeenkomen: 0 0 1 * MON vuurt dus alleen wanneer de 1e een maandag is. De meeste Linux-cron-implementaties behandelen de twee velden daarentegen als OF (de taak draait wanneer een van beide overeenkomt). Controleer de expressie daarom tegen de scheduler die u werkelijk gebruikt.
Opmerking over de tijdzone
De tijden in de voorvertoning worden berekend met de klok van de server, die in UTC draait. Als uw crontab op een machine met een andere tijdzone draait, kunnen de hier getoonde tijden afwijken van die op die machine.
Veelgestelde vragen
Nee. Alleen standaard expressies met 5 velden worden geaccepteerd. Quartz-expressies met seconden (6 velden) of met jaar (7 velden) worden afgewezen met een fout.
Meestal door een van deze redenen: de voorvertoning gebruikt de serverklok in UTC terwijl uw crontab in een andere tijdzone draait; zowel de dag van de maand als de dag van de week is ingesteld (deze parser vereist dat beide overeenkomen); of een stap die aan het begin van elk uur of elke dag opnieuw begint.
Ja, als het een standaard expressie met 5 velden is, wat Kubernetes gebruikt (standaard UTC). Houd er rekening mee dat de voorvertoning hier de serverklok in UTC gebruikt: als het cluster in een andere tijdzone draait, kunnen de tijden afwijken.
Linux-cron accepteert benoemde snelkoppelingen: @reboot (bij opstarten), @yearly / @annually (0 0 1 1 *), @monthly, @weekly, @daily, @hourly. Deze parser accepteert ze niet: breid de snelkoppeling eerst uit naar zijn equivalente expressie met 5 velden voordat u hem hier plakt.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
EditorConfig-generator
Genereer een .editorconfig-bestand met uw regels voor inspringstijl en -grootte, regeleinde, tekenset en witruimte voor consistente opmaak in alle IDE's en editors.
E-mailvalidator
Valideer een e-mailadres: RFC 5322-syntaxcontrole, live MX-record-zoekopdracht, plus details over lokaal deel, domein en lengte. Er wordt geen e-mail verstuurd.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Tool beschikbaar in andere talen
- Analizador de Expresiones Cron [ES]
- เครื่องมือแปลความหมายนิพจน์ Cron [TH]
- Cron 表达式解析器 [ZH]
- Cron 표현식 파서 [KO]
- Analyseur d'expressions Cron [FR]
- Parser för cron-uttryck [SV]
- Pengurai Ekspresi Cron [ID]
- Analisador de Expressões Cron [PT]
- Cron-Ausdrucksparser [DE]
- Cron İfadesi Ayrıştırıcı [TR]
- Parser wyrażeń cron [PL]
- Cron Expression Parser [EN]
- cron式パーサー [JA]
- Bộ phân tích biểu thức Cron [VI]
- محلل تعبيرات Cron [AR]
- Parser di Espressioni Cron [IT]
- Парсер cron-выражений [RU]