Ogni campo accetta un numero, * per ogni valore, un elenco (1,15), un intervallo (1-5) o un passo (*/15). Mesi e giorni della settimana si possono scrivere anche come nomi, ad esempio JAN o MON; la domenica è 0, e la maggior parte delle implementazioni accetta anche 7. Scorciatoie come @daily e @hourly indicano pianificazioni comuni.
Due regole sorprendono. Quando sono impostati sia il giorno del mese sia il giorno della settimana, il job viene eseguito quando corrisponde uno dei due, non entrambi: 0 9 1 * 1 viene eseguito il primo del mese e ogni lunedì. E cron gira nel fuso orario del sistema, quindi un job alle 02:30 può essere saltato o eseguito due volte al cambio dell’ora legale, a seconda dell’implementazione.
Alcuni scheduler aggiungono un sesto campo per i secondi o l’anno, o caratteri come L e ?, come fanno Quartz e AWS EventBridge. Non fanno parte del crontab standard, quindi verifica quale sintassi si aspetta uno strumento. Una pianificazione dice solo quando un job deve partire; il monitoraggio heartbeat ti dice se è partito davvero.