Calcolatore di espressioni cron
Inserisci un’espressione cron standard a 5 campi (il dialetto cronie) e una data e ora di partenza, e vedi quando il lavoro verrà eseguito.
Quale cron è
Questa calcolatrice legge la espressione cron standard a 5 campi usata da crontab di Linux e segue il comportamento di cronie. Non è una calcolatrice per altri dialetti di cron. In particolare, le espressioni in stile Quartz (6 o 7 campi con secondi e anni, e i caratteri ? L W #) sono diverse e non sono supportate. Pianificatori come AWS EventBridge, Kubernetes CronJob e i timer di systemd hanno una propria sintassi o impostazioni di fuso orario e non sono trattati.
| Campo | Intervallo | Come si scrive |
|---|---|---|
| Minuto | 0–59 | *, un numero, 1,15 (un elenco), 10-20 (un intervallo), */15 o 0-30/10 (passi) |
| Ora | 0–23 | Lo stesso |
| Giorno del mese | 1–31 | Lo stesso |
| Mese | 1–12 | Lo stesso. Funzionano anche i nomi (da jan a dec, senza distinzione tra maiuscole e minuscole), in elenchi e intervalli |
| Giorno della settimana | 0–7 | Lo stesso. Funzionano anche i nomi (da sun a sat). 0 e 7 significano entrambi domenica |
@@yearly(@@annually) =0 0 1 1 *,@@monthly=0 0 1 * *,@@weekly=0 0 * * 0,@@daily=0 0 * * *,@@hourly=0 * * * *. Questa calcolatrice accetta anche@@midnightcome@@daily.- Un intervallo di giorni della settimana che termina con 0 (
5-0) è letto come terminante con 7 (venerdì, sabato, domenica). - Quando un passo è più grande dell’intervallo (come
*/23nel campo delle ore), si usano solo il primo valore e i valori raggiunti dal passo (*/23= ore 0 e 23).
Giorno del mese e giorno della settimana: OR e AND
Come il campo del giorno del mese e quello del giorno della settimana lavorano insieme è deciso dall’implementazione di cron (cronie).
- Se nessuno dei due campi inizia con
*, il lavoro viene eseguito nei giorni che corrispondono a uno qualsiasi dei due (OR).30 4 1,15 * 5viene eseguito alle 4:30 il 1º e il 15 di ogni mese e ogni venerdì. - Se uno dei due campi inizia con
*, il lavoro viene eseguito nei giorni che corrispondono a entrambi (AND). Un campo che inizia con*conta come «nessuna restrizione». *e*/2sono trattati allo stesso modo, perché entrambi iniziano con*. Differiscono solo i valori espansi (*/2sono i giorni dispari 1, 3, 5 e così via).0 0 */2 * 1= giorni dispari AND lunedì0 0 1-31/2 * 1= giorni dispari OR lunedì (1-31/2non inizia con*)
- Il risultato mostra se si applica OR o AND.
Fin dove cerca
A partire dopo la data e l’ora che hai inserito, la calcolatrice controlla fino a 10 anni avanti (ma non oltre il 31 dicembre 2100), un giorno alla volta. Un’espressione che viene eseguita solo ogni pochi anni, come una per il 29 febbraio, viene trovata se viene eseguita entro 10 anni. Se nulla viene eseguito entro 10 anni (ad esempio perché la data non esiste mai), il risultato lo dice. L’orario di partenza stesso non è incluso (si cercano gli orari «dopo» di esso).
Sintassi non supportata
Se ne inserisci una, la calcolatrice spiega perché non può leggerla.
- Espressioni con 6 o 7 campi (un campo dei secondi o dell’anno, come in Quartz)
?,L,We#(sintassi Quartz)@@reboot(un lavoro eseguito una volta all’avvio, quindi non ha orari di esecuzione)~(i valori casuali di cronie) eCRON_TZ(un fuso orario per crontab)- Un passo su un singolo valore iniziale, come
5/15
Fusi orari e ora legale
La data e l’ora che inserisci sono usate così come sono, come anno, mese, giorno, ora e minuto. La conversione dei fusi orari e l’ora legale non sono calcolate, quindi il risultato può differire da ciò che cron fa realmente sul tuo sistema. Secondo il manuale di cronie (verificato il 28 ottobre 2026), i lavori in un orario che non esiste a causa di un cambio dell’ora legale non vengono eseguiti, e quelli in un orario che si verifica due volte vengono eseguiti due volte. Altre implementazioni di cron lo gestiscono diversamente.
Esempi
*/15 9-17 * * 1-5viene eseguito ogni 15 minuti dalle 9:00 alle 17:59 nei giorni feriali0 9 * * 1viene eseguito alle 9:00 ogni lunedì0 0 1 * *viene eseguito alle 0:00 il 1º di ogni mese (come@@monthly)0 0 * * 0e0 0 * * 7vengono entrambi eseguiti alle 0:00 ogni domenica30 4 1,15 * 5viene eseguito alle 4:30 il 1º e il 15 e ogni venerdì (OR)0 0 29 2 *viene eseguito alle 0:00 il 29 febbraio degli anni bisestili (il prossimo può essere tra anni)0 0 31 2 *non viene mai eseguito, perché il 31 febbraio non esiste (entro 10 anni non si trova nulla)
Fonti e data di verifica
La sintassi e il comportamento sono stati verificati nel codice sorgente di cronie (entry.c e cron.c) e nel manuale crontab(5) di cronie (cronie su GitHub) il 28 ottobre 2026. Per questa pagina in italiano è stata aperta il 31 ottobre 2026 anche la pagina del manuale crontab(5) su man7.org, che è il manuale di cronie. Elenca i cinque campi e i loro intervalli, i nomi di mesi e giorni della settimana (le prime tre lettere, senza distinzione tra maiuscole e minuscole, utilizzabili in elenchi e intervalli), il comportamento OR quando nessuno dei due campi dei giorni contiene *, e le scorciatoie @@reboot, @@yearly, @@annually, @@monthly, @@weekly, @@daily e @@hourly. Quella pagina del manuale non elenca @@midnight e non descrive il comportamento AND; quei due punti vengono dal codice sorgente di cronie. Le differenze in altre implementazioni di cron non sono state verificate.
Domande frequenti
Cosa succede se imposto sia il giorno del mese sia il giorno della settimana?
Se nessuno dei due campi inizia con *, il lavoro viene eseguito nei giorni che corrispondono a uno qualsiasi dei due (OR). Se uno dei due campi inizia con * (incluso */2), viene eseguito nei giorni che corrispondono a entrambi (AND).
Qual è la differenza tra 0 e 7 nel giorno della settimana?
Nessuna. Entrambi significano domenica.
Il risultato può differire da ciò che il mio cron fa realmente?
Sì. Questa calcolatrice usa la data e l’ora che inserisci così come sono e non calcola fusi orari o ora legale. Anche implementazioni di cron diverse da cronie possono comportarsi in modo diverso.
Perché non compare nulla oltre i 10 anni?
La ricerca si ferma 10 anni dopo la data e l’ora di partenza. Un’espressione per una data che non esiste, come il 31 febbraio, non viene mai eseguita.