Come costruire espressioni cron

· 4 min di lettura

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

  1. 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».
  2. Visualizza l'anteprima delle esecuzioni — il generatore mostra le prossime 5 esecuzioni per verificare che la pianificazione sia corretta.
  3. 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

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»).