Come costruire espressioni cron
Le espressioni cron sono il modo standard di definire pianificazioni ricorrenti su Linux, nelle piattaforme cloud, nelle pipeline CI/CD e negli scheduler di compiti. La sintassi è compatta ma poco intuitiva — un generatore visivo ti mostra esattamente quando il tuo compito verrà eseguito.
Sintassi cron
Un'espressione cron ha 5 campi:
┌───────────── minuto (0-59)
│ ┌───────────── ora (0-23)
│ │ ┌───────────── giorno del mese (1-31)
│ │ │ ┌───────────── mese (1-12)
│ │ │ │ ┌───────────── giorno della settimana (0-6, domenica=0)
│ │ │ │ │
* * * * *
Pianificazioni cron comuni
| Pianificazione | Espressione | Significato |
|---|---|---|
| Ogni minuto | * * * * * |
Eseguito ogni 60 secondi |
| Ogni 5 minuti | */5 * * * * |
A :00, :05, :10, :15... |
| Ogni ora | 0 * * * * |
All'inizio di ogni ora |
| Ogni giorno a mezzanotte | 0 0 * * * |
Una volta al giorno alle 00:00 |
| Ogni giorno alle 9 | 0 9 * * * |
Una volta al giorno alle 09:00 |
| Ogni lunedì alle 8 | 0 8 * * 1 |
Settimanale di lunedì |
| Il 1° di ogni mese | 0 0 1 * * |
Mensile a mezzanotte il 1° |
| Giorni feriali alle 18 | 0 18 * * 1-5 |
Da lunedì a venerdì |
Come costruire un'espressione cron
- Definisci la tua pianificazione — usa i controlli visivi per selezionare i valori di minuto, ora, giorno, mese e giorno della settimana. O parti da un preset come «ogni ora» o «ogni giorno a mezzanotte».
- Visualizza l'anteprima delle esecuzioni — il generatore mostra le prossime 5 esecuzioni per verificare che la pianificazione sia corretta.
- Copia l'espressione — incollala nella tua crontab, nella tua config CI/CD o nel tuo scheduler cloud.
Caratteri speciali
| Carattere | Significato | Esempio |
|---|---|---|
* |
Ogni valore | * * * * * = ogni minuto |
*/n |
Ogni n | */15 * * * * = ogni 15 min |
, |
Più valori | 0 8,12,18 * * * = 8, mezzogiorno, 18 |
- |
Intervallo | 0 9-17 * * * = ogni ora dalle 9 alle 17 |
Consigli
- Verifica sempre le prossime esecuzioni — le espressioni cron sono facili da sbagliare. L'anteprima ti mostra esattamente quando il compito si attiverà, verifica prima di distribuire.
- Parti dai preset — inizia con una pianificazione comune come «giornaliero» o «orario» e regola invece di scrivere da zero.
- Attenzione al fuso orario — gli orari cron sono nel fuso del sistema (generalmente UTC sui server). Se vuoi le 9 di Roma, è
0 7 * * *in UTC durante l'ora legale. - Testa con intervalli brevi — quando metti in atto un nuovo cron, testa con
*/5 * * * *(ogni 5 minuti) per confermare che funzioni, poi passa alla pianificazione finale.
Domande frequenti
Qual è il formato di un'espressione cron?
Un'espressione cron standard ha 5 campi separati da spazi, che rappresentano minuto (0-59), ora (0-23), giorno del mese (1-31), mese (1-12) e giorno della settimana (0-6, dove 0 è domenica). Un asterisco (*) significa «ogni» valore per quel campo.
Cosa significa */5 in cron?
La sintassi */5 significa «ogni 5». Nel campo minuto, */5 significa ogni 5 minuti (0, 5, 10, 15...). Nel campo ora, */5 significa ogni 5 ore. Funziona in qualsiasi campo.
Le espressioni cron sono identiche su tutte le piattaforme?
Il formato a 5 campi è standard su Linux cron, AWS EventBridge, GitHub Actions e nella maggior parte dei sistemi di pianificazione. Alcune piattaforme aggiungono un 6° campo per i secondi o l'anno. Consulta la documentazione della tua piattaforma.
Come pianificare per l'ultimo giorno di ogni mese?
Il cron standard non ha una parola chiave «ultimo giorno». Usa una soluzione alternativa come un'esecuzione giornaliera con una verifica della data nel tuo script, o usa estensioni proprie della piattaforma (AWS EventBridge supporta L per «last»).