OTOthoTools

Cron spiegato

Valida le pianificazioni
15 2 * * 1-5

Al 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.