Analizzatore di espressioni cron
Vedi in quali date 0 */6 * * 1-5 gira davvero e che cosa ammette ogni campo.
Gli esempi sostituiscono temporaneamente i dati e le impostazioni. Puoi ripristinare il lavoro precedente.
Incolla o scrivi qui sopra per vedere il risultato.
I tuoi file restano sul tuo dispositivo
Questo strumento viene eseguito interamente nel tuo browser. Ciò che incolli viene elaborato sul tuo dispositivo e non viene mai inviato a un server, quindi puoi usarlo in sicurezza con token, chiavi e testi non pubblicati.
Esempio
Esempio: 0 9 16 * 1-5 non vuol dire «il 16, se è un giorno feriale»
Uno studio vuole un promemoria alle 9 del 16 di ogni mese, il giorno delle scadenze come l’F24, ma non di sabato o domenica. L’espressione che viene in mente è 0 9 16 * 1-5: minuto 0, ora 9, giorno 16, ogni mese, da lunedì a venerdì. L’elenco parte sempre da adesso; qui le date sono calcolate da giovedì 14 gennaio 2027 alle 12:00, con 8 esecuzioni.
- L’elenco non mostra un 16 al mese: dà venerdì 15 gennaio, sabato 16, poi lunedì 18, martedì 19 e avanti ogni giorno feriale.
- I campi sotto l’elenco spiegano perché: giorno del mese 16 e giorno della settimana 1,2,3,4,5. Quando sono limitati entrambi, cron gira se corrisponde l’uno o l’altro, non tutti e due.
- Cron da solo non sa dire «il 16, o il lunedì dopo se cade nel fine settimana». Il modo solito è 0 9 16-18 * * e lasciare al comando il controllo della data prima di fare qualcosa.
| Espressione | Prossime esecuzioni da giovedì 14 gennaio 2027 | Perché |
|---|---|---|
| 0 9 16 * 1-5 | ven 15, sab 16, lun 18, mar 19, mer 20, gio 21, ven 22, lun 25 gennaio | il 16 oppure un qualsiasi giorno feriale |
| 0 9 16 * * | sab 16 gennaio, mar 16 febbraio, mar 16 marzo, ven 16 aprile, dom 16 maggio | solo il 16, anche di sabato o domenica |
| 0 9 * * 1-5 | ven 15, lun 18, mar 19 gennaio… | tutti i giorni feriali, il 16 compreso solo se è feriale |
| */45 8-9 * * * | 8:00, 8:45, 9:00, 9:45, poi il giorno dopo | */45 riparte ogni ora: 45 minuti, poi 15 |
| 0 9 16 1 * | sab 16 gennaio 2027, dom 16 gennaio 2028, mar 16 gennaio 2029 | una volta l’anno |
Leggere le date invece dei campi è quello che smaschera l’errore: 8 esecuzioni in undici giorni dove se ne voleva una al mese. Gli orari sono nel fuso del tuo browser, indicato in cima all’elenco; un server che esegue cron in UTC le sposta di una o due ore rispetto all’Italia.
Come funziona
- Incolla un’espressione a cinque campi: minuto, ora, giorno del mese, mese, giorno della settimana. Per esempio 30 2 * * 0 gira alle 02:30 ogni domenica.
- Scegli quante esecuzioni future vedere, da 1 a 20.
- Il risultato compare mentre scrivi. Ottieni le esecuzioni come date complete, come «domenica 25 ottobre 2026 alle ore 02:30», e sotto ogni campo con i valori che ammette.
- Confronta le date con quello che intendevi. Gli errori di uno sul giorno della settimana o sui passi saltano fuori subito nell’elenco.
Domande frequenti
- In che fuso orario sono le prossime esecuzioni?
- Sono calcolate nel fuso locale del browser, quello del sistema. I server di solito eseguono cron in UTC o nel fuso configurato sulla macchina: sposta quindi i risultati quando li confronti con una pianificazione di produzione.
- Quale sintassi è supportata?
- I cinque campi standard con * per qualsiasi valore, gli elenchi con la virgola (1,15), gli intervalli (1-5), i passi (*/10 o 1-30/5) e i nomi di tre lettere per i mesi (JAN-DEC) e i giorni (SUN-SAT). Sia 0 sia 7 indicano domenica. Le stringhe speciali @hourly, @daily, @weekly, @monthly e @yearly vengono espanse nel corrispondente a cinque campi.
- Come si combinano giorno del mese e giorno della settimana?
- Come in Vixie cron: se entrambi i campi sono limitati (nessuno dei due è *), il job gira quando corrisponde l’uno o l’altro, non entrambi. Così 0 0 1 * MON gira il 1° di ogni mese e anche ogni lunedì. Sorprende molti, quindi controlla l’elenco delle prossime esecuzioni.
- Supporta i secondi o il campo anno?
- Un’espressione a sei campi viene letta come la scrivono Quartz e Spring, con i secondi davanti: i secondi vengono scartati e le esecuzioni si calcolano sugli altri cinque campi, quindi 0 0 12 * * ? gira ogni giorno alle 12:00 (? vale come *). Fa eccezione la forma di AWS EventBridge, con il minuto davanti e l’anno in fondo, riconoscibile dal ? nel giorno del mese o nel giorno della settimana: anche 0 12 * * ? * gira ogni giorno alle 12:00, e l’anno compare sotto gli altri campi. Un settimo campo dopo i sei di Quartz viene letto come anno.
- Perché */45 non gira ogni 45 minuti?
- Perché il passo riparte da zero ogni ora: */45 vuol dire minuto 0 e minuto 45, quindi 8:00, 8:45, 9:00, 9:45, con intervalli alterni di 45 e 15 minuti. Un passo funziona in modo regolare solo se divide 60: 5, 10, 15, 20, 30.
- Come scrivo «il 16 del mese, ma solo nei giorni feriali»?
- Con cron da solo non si può: 0 9 16 * 1-5 gira il 16 e in più ogni giorno da lunedì a venerdì. Usa 0 9 16 * * se il giorno del fine settimana ti va bene, oppure 0 9 16-18 * * con un controllo della data nel comando, e verifica qui l’elenco delle esecuzioni.
- L’espressione viene inviata a un server?
- No. L’analisi e il calcolo delle date avvengono nel browser. Non c’è nulla da caricare e nulla da registrare.