Parser di Espressioni Cron
Formato: minuto ora giorno-del-mese mese giorno-della-settimana
Erediti un crontab ed è pieno di 0 */2 * * 1-5, 15 4 1 * *, */30 8-18 * * *. Questo parser prende un’espressione cron standard a 5 campi e restituisce una descrizione in inglese semplice (“every 2 hours on weekdays”) più i prossimi 5 orari in cui si attiverà davvero. Utile per capire le pianificazioni esistenti e verificarne una nuova prima di implementarla.
Come analizzare un'espressione cron
-
1
Incolla l'espressione
Un'espressione standard a 5 campi (`* * * * *`): minuto, ora, giorno del mese, mese e giorno della settimana.
-
2
Leggi la descrizione in inglese
Il parser riscrive ogni campo in inglese semplice, per esempio "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
Controlla l'anteprima della prossima esecuzione
5 prossimi orari di attivazione. Se non corrispondono alla tua intenzione, affina l'espressione.
-
4
Correggi i campi non validi
Le espressioni con un numero di campi errato o valori fuori intervallo vengono rifiutate con un errore che indica il campo problematico.
Decodifica di ciascun campo
Ogni campo ha il proprio intervallo valido e i propri caratteri speciali:
| Campo | Intervallo | Caratteri jolly supportati |
|---|---|---|
| Minuto | 0-59 | * , - / |
| Ora | 0-23 | * , - / |
| Giorno del mese | 1-31 | * , - / |
| Mese | 1-12 | * , - / |
| Giorno della settimana | 0-7 | * , - / |
*= qualsiasi valore (*nel campo dei minuti significa ogni minuto).1,5,10= un elenco di valori.1-5= un intervallo di valori.*/15o0-45/15= un passo, contato dall’inizio dell’intervallo del campo.- Il giorno della settimana
0e7sono entrambi domenica, quindi vengono accettate entrambe le convenzioni. I nomi di mesi e giorni come JAN o MON non sono accettati; usa i numeri.
Esempi decodificati
| Espressione | In inglese |
|---|---|
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 |
Cosa accetta il parser
- Esattamente 5 campi: minuto, ora, giorno del mese, mese e giorno della settimana. Le espressioni Quartz a 6 o 7 campi (con secondi o anno) vengono rifiutate.
- Intervalli validi: ogni valore deve rientrare nel proprio campo, per esempio minuto 0-59, ora 0-23, giorno del mese 1-31, mese 1-12 e giorno della settimana 0-7.
- Passi positivi: il valore dopo
/deve essere un numero positivo (*/0viene rifiutato). - Nessuna scorciatoia con nome:
@daily,@reboote scorciatoie simili non sono accettate. Espandile prima nella loro forma a 5 campi (per esempio@daily=0 0 * * *).
Giorno del mese e giorno della settimana combinati
Quando sono impostati sia il giorno del mese sia il giorno della settimana, questo parser pianifica un’esecuzione solo quando entrambi corrispondono: 0 0 1 * MON scatta quindi solo quando il 1° è un lunedì. La maggior parte delle implementazioni cron di Linux tratta invece i due campi come OR (il lavoro gira quando uno dei due corrisponde). Controlla quindi l’espressione contro lo scheduler che usi davvero.
Nota sul fuso orario
Gli orari dell’anteprima sono calcolati con l’orologio del server, che gira in UTC. Se il tuo crontab gira su una macchina con un fuso orario diverso, gli orari mostrati qui possono differire da quelli di quella macchina.
Domande frequenti
No. Vengono accettate solo espressioni standard a 5 campi. Le espressioni Quartz con secondi (6 campi) o con anno (7 campi) vengono rifiutate con un errore.
Di solito per uno di questi motivi: l’anteprima usa l’orologio del server in UTC mentre il tuo crontab gira in un altro fuso orario; giorno del mese e giorno della settimana sono entrambi impostati (questo parser richiede che coincidano); oppure un passo che riparte all’inizio di ogni ora o giorno.
Sì, se è un’espressione standard a 5 campi, che è quello che usa Kubernetes (UTC di default). Tieni presente che l’anteprima qui usa l’orologio del server in UTC: se il cluster gira in un fuso orario diverso, gli orari possono differire.
Il cron di Linux accetta scorciatoie con nome: @reboot (all’avvio), @yearly / @annually (0 0 1 1 *), @monthly, @weekly, @daily, @hourly. Questo parser non le accetta: espandi la scorciatoia nella sua espressione equivalente a 5 campi prima di incollarla qui.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Trova nome colore
Trova il colore CSS standard con nome più vicino a un valore HEX, RGB o HSL usando la differenza CIEDE2000.
Generatore di Palette di Colori
Genera palette monocromatiche, analoghe, complementari, triadiche o tetradiche da un colore base HEX ed esporta variabili CSS pronte da copiare.