Cron spiegato
Valida le pianificazioni15 2 * * 1-5Al minuto 15, ora 2, giorno del mese *, mese *, giorno della settimana 1-5.
Guida difensiva educativa. Verifica ogni risultato prima dell'uso in produzione.
Introduzione
Cron spiegato valida un'espressione cron standard a cinque campi — minuto, ora, giorno del mese, mese, giorno della settimana — e spiega in linguaggio semplice cosa significa.
La sintassi cron è compatta e facile da leggere male: 0 2 * * 1-5 e 0 2 * * 1,5 significano cose molto diverse. Un secondo paio di occhi sul piano evita sia job mancati sia sorprese alle 2 di notte.
Obiettivo
- Validare che un'espressione abbia esattamente cinque campi validi.
- Tradurre i campi in una frase leggibile.
- Offrire preset comuni come punto di partenza.
Input
- Un'espressione cron a cinque campi, ad esempio 15 2 * * 1-5.
- Campi: minuto (0–59), ora (0–23), giorno del mese (1–31), mese (1–12), giorno della settimana (0–7, dove 0 e 7 sono domenica).
Come funziona
L'espressione viene divisa sugli spazi. Deve produrre esattamente cinque campi e ogni campo deve consistere solo di cifre e degli operatori * / , -.
Lo strumento non verifica a fondo gli intervalli numerici (ad esempio 99 come ora supera il controllo caratteri) — la spiegazione è onesta sulla struttura a cinque campi.
Un'espressione valida produce una frase che legge letteralmente ogni campo; una non valida produce un messaggio di errore chiaro che richiede esattamente cinque campi.
Esempio testabile
Prova — l'analisi gira localmente nel tuo browser.
Esempio
Espressione: 15 2 * * 1-5
Output atteso
Valida. Al minuto 15, ora 2, giorno del mese *, mese *, giorno della settimana 1-5. Interpretazione: nei giorni feriali alle 02:15.
Leggere l'output
- Se la spiegazione corrisponde alla tua intenzione, il piano è probabilmente giusto.
- Attenzione alla trappola classica: giorno-del-mese e giorno-della-settimana sono combinati in OR nel cron standard (Vixie), quindi un'espressione con entrambi ristretti può girare più spesso del previsto.
- I preset (orario, giornaliero, settimanale, ogni 5 minuti) sono punti di partenza sicuri.
Rischi
- Un refuso nel campo minuto o ora sposta un intero piano — 30 2 * * * gira alle 02:30, non alle 02:00.
- Usare sia giorno-del-mese sia giorno-della-settimana crea semantica OR che sorprende la maggior parte delle persone.
- I job che girano quando il sistema dorme o è spento vengono saltati o ritardati a seconda dell'implementazione cron — anacron e i timer systemd si comportano diversamente.
Limiti
- Lo strumento accetta solo il formato standard a cinque campi; non analizza le estensioni Vixie come @reboot né la variante a sei campi con secondi.
- Il controllo degli intervalli è volutamente superficiale: 99 nel campo ora supera il controllo caratteri.
- Spiega l'espressione; non può verificare che il comando sottostante esista o abbia i permessi giusti.
Riferimenti ufficiali
FAQ
Cosa accetta il campo giorno della settimana?
0–7, dove 0 e 7 sono domenica. Nomi come MON non sono accettati da questo validatore — usa numeri, intervalli ed elenchi.
Perché il mio job gira più spesso del previsto?
Se sia giorno-del-mese sia giorno-della-settimana sono ristretti, il cron Vixie esegue il job quando uno dei due corrisponde. Usa * in uno dei due campi per ottenere il comportamento AND intuitivo.
Cron o timer systemd?
Per nuovo lavoro i timer systemd offrono log migliori, dipendenze e gestione delle esecuzioni mancate. Cron resta valido per pianificazioni semplici e ben comprese.