A cosa serve questo generatore cron
Ogni riga di crontab comincia con cinque campi che dicono quando eseguire un comando. 30 3 * * 1-5 si legge «Alle 03:30, da lunedì a venerdì». Lo strumento funziona nei due sensi: incolla un'espressione in «Espressione cron» e leggila in «In parole semplici», oppure costruiscila con il «Generatore». In «Prossime esecuzioni» trovi le 10 date successive nel fuso orario che preferisci.
Come si usa
- Scrivi o incolla l'espressione. Gli errori sono segnalati campo per campo, per esempio «Minuto: 60 è fuori dall'intervallo consentito (da 0 a 59).»
- Oppure scegli una scheda del generatore («Minuti», «Ore», «Ogni giorno», «Settimana», «Giorno del mese», «Mesi»): l'espressione si aggiorna appena modifichi un valore.
- Controlla le date, poi usa «Copia l'espressione» oppure «Copia il link» per condividere tutto, fuso orario compreso.
I cinque campi
| Posizione | Campo | Valori |
|---|---|---|
| 1 | Minuto | da 0 a 59 |
| 2 | Ora | da 0 a 23 |
| 3 | Giorno del mese | da 1 a 31 |
| 4 | Mese | da 1 a 12 o da JAN a DEC |
| 5 | Giorno della settimana | da 0 a 7 (0 e 7 = domenica) o da SUN a SAT |
Caratteri speciali: * vuol dire tutti i valori, la virgola crea un elenco (1,15), il trattino un intervallo (9-17) e la barra un passo: */15 dà 0, 15, 30 e 45, 5-20/5 dà 5, 10, 15 e 20. I nomi di mesi e giorni sono in inglese (AUG, FRI).
Esempi frequenti
*/30 * * * *: ogni 30 minuti, 48 volte al giorno.0 0 1 * *: alle 00:00 del primo giorno del mese, utile per chiudere la contabilità mensile.30 7 * * 1-6: alle 07:30 da lunedì a sabato.0 2 * * 0e0 2 * * 7: la stessa cosa, la domenica alle 02:00.
La regola dell'OR tra giorno del mese e giorno della settimana
Se entrambi i campi del giorno sono limitati, il cron classico avvia il job quando vale l'uno o l'altro. 0 12 13 * 5 quindi non vuol dire «venerdì 13»: parte il 13 di ogni mese e in più ogni venerdì. Dal 14 novembre 2026 dà i venerdì 20 e 27 novembre, poi il 4 e l'11 dicembre e domenica 13 dicembre. Un campo che inizia con *, come */2, conta come non limitato e la regola torna a essere un AND.
Fusi orari e cambio dell'ora
Cron segue l'ora locale della macchina. Un server in UTC avvia 0 6 * * * alle 07:00 italiane d'inverno e alle 08:00 d'estate. Il 29 marzo 2026 le 02:30 in Italia non esistono: un job a orario fisso come 30 2 * * * parte subito dopo il salto, alle 03:00, e l'elenco lo segnala. Il 25 ottobre 2026 le 02:30 si ripetono: un job a orario fisso parte una sola volta, uno con * nel minuto o nell'ora gira in entrambi i passaggi.
Varianti tra pianificatori
Alcuni strumenti aggiungono un campo dei secondi all'inizio (6 campi) o un anno alla fine (7 campi): seleziona «Secondi nel primo campo». Molti accettano scorciatoie come @daily (0 0 * * *) o @reboot (all'avvio). L (ultimo), W (giorno feriale più vicino), # (n-esimo giorno, MON#2 per il secondo lunedì) e ? non sono standard: seleziona «Interpreta L, W, # e ?» per leggerli. Attenzione anche a chi numera i giorni da 1 (domenica) a 7 o applica AND invece di OR.
Buone abitudini
- Evita la mezzanotte in punto: è l'orario che scelgono tutti.
17 3 * * *distribuisce meglio il carico di0 0 * * *. - Tieni un registro: aggiungi
>> /var/log/backup.log 2>&1al comando per conservare gli errori.
Domande frequenti
Come avvio un job ogni 5 minuti?
Con */5 * * * *. Parte ai minuti 00, 05, 10 e così via fino a 55: 288 volte al giorno.
Perché il mio job salta alcuni mesi?
Con 0 0 31 * * i mesi di 30 giorni e febbraio vengono saltati: restano 7 esecuzioni all'anno. Per l'ultimo giorno di ogni mese serve un pianificatore che capisca L.
Perché la mia espressione a 6 campi viene rifiutata?
Il cron classico ne legge solo 5. Se il tuo pianificatore mette i secondi davanti, seleziona «Secondi nel primo campo»: lo strumento accetta allora 6 o 7 campi.
La mia espressione viene inviata da qualche parte?
No, tutto viene calcolato nel tuo browser. Il link condivisibile contiene solo l'espressione, il fuso orario e le opzioni.