Sviluppatori

Analizzatore di Espressioni Cron

Incolla qualsiasi espressione cron a 5 campi e scopri subito cosa significa in linguaggio semplice — basta fissare asterischi e barre per capire quando viene eseguito un job.

Questo strumento ti è stato utile?

Cos'e' Analizzatore di Espressioni Cron?

Cron è la sintassi di pianificazione standard usata dai job cron di Unix/Linux, dalle pipeline CI/CD, dai CronJob di Kubernetes e da innumerevoli altri scheduler di attività. Un'espressione cron racchiude un'intera pianificazione ricorrente in cinque campi compatti, il che è potente ma notoriamente difficile da leggere a colpo d'occhio — "0 */4 * * 1-5" significa ogni 4 ore nei giorni feriali, o qualcos'altro? Questo analizzatore scompone un'espressione cron campo per campo e la traduce in una frase in linguaggio semplice, così puoi verificare che una pianificazione sia corretta prima di distribuirla, o capire rapidamente una pianificazione scritta da qualcun altro senza dover consultare una tabella di sintassi cron.

Quando Usare Questo Calcolatore

  • Quando verifichi un programma cron prima di distribuire un task pianificato o una pipeline CI/CD
  • Quando fai il debug del perché un task pianificato è stato eseguito o non è stato eseguito a un orario inaspettato
  • Quando rivedi un CronJob Kubernetes o un programma GitHub Actions scritto da un collega
  • Quando impari la sintassi cron per un corso di certificazione admin di sistema o DevOps
  • Quando auditi voci crontab esistenti durante una migrazione del server
  • Quando progetti un pattern di pianificazione complesso che combina più vincoli temporali

Passaggi:

  1. Incolla o digita un'espressione cron a 5 campi nell'input.
  2. Vedi ogni campo scomposto individualmente con il suo significato.
  3. Leggi la traduzione in linguaggio semplice dell'intera pianificazione.
  4. Prova un pulsante preset per pianificazioni comuni come "ogni ora" o "giorni feriali alle 9".

Formula

┌───────────── minuto (0-59) │ ┌───────────── ora (0-23) │ │ ┌───────────── giorno del mese (1-31) │ │ │ ┌───────────── mese (1-12) │ │ │ │ ┌───────────── giorno della settimana (0-6, domenica=0) │ │ │ │ │ * * * * *

Casi d'Uso

  • Verificare una pianificazione cron prima di distribuire un'attività pianificata o una pipeline CI/CD
  • Capire un CronJob Kubernetes o una funzione serverless pianificata scritta da un collega
  • Fare debug del motivo per cui un job pianificato è stato eseguito (o non eseguito) in un momento inatteso
  • Imparare la sintassi cron per un corso da sysadmin o DevOps
  • Verificare le voci crontab esistenti durante una migrazione del server

Vantaggi Principali

  • Traduce istantaneamente la criptica sintassi cron in linguaggio semplice
  • Scompone ciascuno dei 5 campi individualmente per chiarezza
  • Preset con un clic per gli schemi di pianificazione più comuni
  • Nessuna registrazione, funziona interamente nel tuo browser

Consigli Pro

  • In caso di dubbio, testa prima con un orario molto vicino nel futuro per confermare che la pianificazione si attivi come previsto
  • Usa intervalli (1-5) invece di elencare ogni valore con virgole quando possibile, per leggibilità
  • Ricontrolla l'impostazione del fuso orario del tuo server o scheduler — è la fonte più comune di bug cron con "orario sbagliato"
  • Per qualsiasi cosa più complessa di una semplice pianificazione giornaliera/settimanale, scrivi la descrizione in linguaggio semplice e confrontala con la tua intenzione prima di distribuire

Errori Comuni da Evitare

  • Dimenticare che giorno-del-mese e giorno-della-settimana sono uniti con OR, non con AND
  • Confondere il giorno-della-settimana indicizzato da 0 (0=domenica) con le convenzioni indicizzate da 1 di altri sistemi
  • Presumere che */7 nel campo giorno-del-mese significhi "ogni 7 giorni" — in realtà significa i giorni 1, 8, 15, 22, 29, riavviandosi ogni mese
  • Dimenticare che la maggior parte delle implementazioni cron viene eseguita nel fuso orario locale del server, non in UTC o nel fuso orario dell'utente

Termini Chiave Spiegati

Cron: uno scheduler di job basato sul tempo usato nei sistemi operativi Unix-like
Crontab: il file o comando usato per definire un elenco di job cron
Valore di step: la sintassi "/N" che significa "ogni N unità" a partire dal valore minimo di un campo
CronJob: la risorsa nativa di Kubernetes per eseguire attività pianificate con cron

Concetti correlati

  • Calcolatrice di Differenza di Tempo: Calcola la durata tra due date e orari
  • Calcolatrice di Giorni Mancanti: Conta i giorni fino a una data specifica
  • Convertitore Timestamp Unix: Converti tra timestamp Unix e date
  • Calcolatrice di Sovrapposizione Fuso Orario: Trova la sovrapposizione degli orari di lavoro tra fusi orari
  • Formatter JSON: Formatta e valida i dati JSON

Esempio

L'espressione "0 9 * * 1-5" si scompone in: minuto=0, ora=9, ogni giorno del mese, ogni mese, da lunedì a venerdì — cioè "Alle 09:00, da lunedì a venerdì."

Interpretazione dei risultati

L'analizzatore scompone un'espressione cron a 5 campi nei suoi singoli componenti e traduce ciascuno in linguaggio semplice. I cinque campi sono: minuto (0–59), ora (0–23), giorno del mese (1–31), mese (1–12) e giorno della settimana (0–6, dove 0 è domenica). Un job viene eseguito quando TUTTI e cinque i campi corrispondono all'ora attuale — questa è la logica AND tra i campi. Presta particolare attenzione all'interazione tra il giorno del mese e il giorno della settimana, che usa la logica OR (non AND). Un job programmato con giorno 15 E giorno della settimana 5 verrà eseguito il 15 di ogni mese E ogni venerdì — non solo i venerdì che cadono il giorno 15.

Domande Frequenti

Quali sono i 5 campi in un'espressione cron?
In ordine: minuto (0-59), ora (0-23), giorno del mese (1-31), mese (1-12) e giorno della settimana (0-6, dove 0 è domenica). Un job viene eseguito quando tutti e cinque i campi corrispondono all'orario corrente.
Cosa significa un asterisco (*) nella sintassi cron?
Un asterisco significa "ogni valore è consentito" per quel campo. Ad esempio, * nel campo ora significa che il job può essere eseguito in qualsiasi ora, il che di fatto significa che quel campo non limita la pianificazione.
Cosa significa */5?
La barra indica un valore di step. */5 nel campo minuti significa "ogni 5 minuti" — a partire dal valore minimo del campo e ripetendo ogni 5 unità.
Come pianifico un job solo per i giorni feriali?
Usa un intervallo nel campo giorno-della-settimana: 1-5 rappresenta da lunedì a venerdì. Combinato con un'ora e un minuto specifici, ad es. "0 9 * * 1-5" viene eseguito alle 9:00 ogni giorno feriale.
Cosa significa la virgola nella sintassi cron?
Una virgola separa più valori in un singolo campo. Ad esempio, 0,15,30,45 nel campo minuto significa che il job viene eseguito ai minuti 0, 15, 30 e 45. La virgola è un semplice OR: il job viene eseguito in uno qualsiasi dei valori elencati.
Cos'è il trattino (intervallo) nella sintassi cron?
Un trattino definisce un intervallo di valori. Ad esempio, 1-5 nel campo giorno della settimana significa da lunedì a venerdì (giorni 1 a 5). Gli intervalli sono inclusivi di entrambe le estremitá. Puoi combinare intervalli con altra sintassi: 1-5,0 significa da lunedì a venerdì più domenica.
Come pianifico un job per ogni 2 settimane?
Il cron standard non supporta nativamente la pianificazione bisettimanale. Hai due opzioni: (1) Usa uno script wrapper che controlla la data e viene eseguito solo ogni due settimane, oppure (2) Usa un task scheduler che supporta espressioni più complesse come AWS EventBridge o timer di sistema con trigger basati su calendario.
Quale fuso orario usa cron?
Il cron standard usa il fuso orario locale del server. Se il tuo server è configurato per UTC, tutti i job cron vengono eseguiti in UTC indipendentemente dal tuo fuso orario locale. Verifica sempre l'impostazione del fuso orario del server, specialmente negli ambienti cloud.
Qual è la differenza tra cron e crontab?
Cron è il demone (servizio in background) che esegue le attività pianificate. Crontab è il file di configurazione (o comando) che definisce la lista dei job cron. Quando modifichi il tuo crontab, stai scrivendo le definizioni degli orari che il demone cron legge ed esegue.
Come gestisco l'ora legale con cron?
La maggior parte delle implementazioni di cron non si regola automaticamente per l'ora legale. Quando gli orologi avanzano, un job programmato per le 2:00 potrebbe essere saltato completamente. Quando gli orologi indietreggiano, un job potrebbe essere eseguito due volte. Per evitare problemi, pianifica i job al di fuori delle ore di transizione (2:00–3:00) o usa una pianificazione basata su UTC.
Posso usare cron per intervalli sub-minuto?
Il cron standard ha una granularità a livello di minuto e non può pianificare task più frequentemente di una volta al minuto. Per intervalli sub-minuto, usa alternative come timer systemd, Kubernetes CronJobs con intervalli più brevi o scheduler a livello applicativo (node-cron con supporto ai millisecondi).

Scopri Altri Strumenti

Una selezione fresca da tutta la nostra libreria di strumenti.