Convertitore gratuito

Espressione Cron Generatore

Genera, spiega e convalida istantaneamente le espressioni cron nel tuo browser. Generatore di immagini e parser di espressioni: gratuito, privato e lato client.

Espressione Cron
0 */6 * * *
Descrizione leggibile dall'uomo
Every minute
Prossime 5 corse programmate
Calculating...

Informazioni su questo strumento

Le espressioni cron sono cinque (o sei, a seconda del sistema) campi separati da spazi che descrivono una pianificazione: minuto, ora, giorno del mese, mese e giorno della settimana. Ciascun campo accetta valori numerici, intervalli, elenchi, incrementi e caratteri jolly. Cron è stato di fatto il formato di pianificazione Unix dalla fine degli anni '70 ed è ora utilizzato ben oltre Unix: da Kubernetes CronJobs, GitHub Actions, regole AWS EventBridge, lavori Jenkins e quasi tutti gli altri sistemi di pianificazione in produzione.

Leggere e scrivere manualmente le espressioni cron è soggetto a errori. I campi sono posizionali, l'interazione del giorno del mese e del giorno della settimana non è ovvia (un valore in uno dei due campi attiva il lavoro, non in entrambi) e gli errori producono silenziosamente pianificazioni che sembrano corrette ma si attivano nei momenti sbagliati. Un generatore che traduce le pianificazioni in inglese semplice nella corretta sintassi cron evita questi errori.

Questo strumento offre due direzioni: costruire un'espressione cron da un modulo amichevole (ogni lunedì alle 9:00, ogni 5 minuti durante l'orario lavorativo) e spiegare un'espressione cron esistente in termini umani. Entrambi vengono eseguiti nel tuo browser senza alcuna interazione con il server.

Perché utilizzare un generatore di cron

La sintassi di Cron è densa e spietata. Gli errori più comuni includono la numerazione confusa del giorno della settimana (domenica è 0 o 7 a seconda del sistema), il dimenticare che il giorno del mese e il giorno della settimana utilizzano la semantica OR e l'incomprensione della sintassi dell'incremento (*/5 significa ogni 5 che inizia da 0). Un generatore li rileva per costruzione: le espressioni prodotte corrispondono a ciò che hai descritto nel modulo.

Leggere le espressioni esistenti è altrettanto difficile. Un programma come 0 9 * * 1-5 si legge come ogni giorno feriale alle 9:00 una volta che si conosce la sintassi, ma chiunque non abbia familiarità con cron deve cercare ogni campo. Spiegare l'espressione in termini umani è più veloce che apprendere la sintassi per interazioni una tantum.

Come usarlo

Scegli uno schema di pianificazione, ottieni l'espressione cron.

  1. Scegli la modalità di generazione: Costruisci un'espressione cron dagli input del modulo (frequenza, ora, giorni) o spiega un'espressione esistente in termini umani.
  2. Configura il programma: Scegli la frequenza (ogni minuto, ogni ora, ogni giorno, ogni settimana, ogni mese, personalizzata). Specificare orari, giorni e intervalli secondo necessità. Il modulo vincola gli input a combinazioni valide.
  3. Generare o spiegare: La generazione produce la sintassi cron standard (5 campi). La spiegazione suddivide ciascun campo e fornisce un riepilogo leggibile dall'uomo.
  4. Utilizzalo nel tuo programmatore: Incolla l'espressione generata nella specifica Kubernetes CronJob, nella pianificazione delle azioni GitHub, in AWS EventBridge o nello scheduler della tua piattaforma.

Casi d'uso comuni

Dettagli tecnici

Il cron standard ha cinque campi: minuto (0–59), ora (0–23), giorno del mese (1–31), mese (1–12), giorno della settimana (0–6 o 0–7, entrambi domenica). Ogni campo accetta un singolo valore, un elenco separato da virgole, un intervallo con trattino, un incremento con / o un carattere jolly con *.

Il giorno del mese e il giorno della settimana utilizzano la semantica OR: se uno dei due è impostato su un valore non jolly, il lavoro viene eseguito quando uno dei due corrisponde. Questo è controintuitivo ma corrisponde al comportamento cron POSIX. L'impostazione di entrambi i campi produce una pianificazione più ampia, non più ristretta.

Le estensioni variano in base all'implementazione. Alcuni accettano un sesto campo per i secondi (Quarzo, Primavera); alcuni accettano? come alternativa al carattere jolly; alcuni includono scorciatoie @annuale, @mensile, @giornaliero. Il generatore produce cron standard a 5 campi adatto alla maggior parte dei sistemi.

Migliori pratiche

Domande frequenti

Qual è il formato dell'espressione cron?
Il cron standard utilizza 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). Caratteri speciali: * (qualsiasi), , (elenco), - (intervallo), / (passo).
Come faccio a impostare un lavoro da eseguire ogni 5 minuti?
Utilizzare */5 nel campo dei minuti: '*/5 * * * *'. Il /5 significa "ogni 5 valore". Allo stesso modo, */15 = ogni 15 minuti, */2 = ogni 2 minuti.
Che fuso orario utilizza cron?
Cron utilizza in genere il fuso orario del sistema. Sui server Linux, solitamente è UTC a meno che non venga configurato diversamente. I servizi cloud (AWS, GCP) spesso sono impostati su UTC per impostazione predefinita. Controlla sempre l'impostazione del fuso orario del tuo sistema.
È lo stesso formato utilizzato da GitHub Actions?
GitHub Actions utilizza lo stesso formato a 5 campi ma viene eseguito nel fuso orario UTC. Anche AWS CloudWatch e Kubernetes CronJobs utilizzano questo formato. Alcuni sistemi come Quartz utilizzano un formato esteso di 6-7 campi con secondi.
Qual è la differenza tra 0 nel giorno della settimana e 7?
Entrambi significano domenica. POSIX cron accetta 0–6 o 0–7. Utilizza quello che preferisce la tua specifica implementazione cron; la maggior parte accetta entrambi.
La spiegazione è accurata per cron non standard?
Ha come obiettivo il cron standard a 5 campi. Le estensioni Quartz (con secondi), le varianti AWS EventBridge e altri dialetti potrebbero non essere analizzati correttamente. Confermare con la documentazione del sistema di destinazione.
La mia espressione viene inviata a un server?
No. La generazione e la spiegazione avvengono nel tuo browser.
Che dire delle scorciatoie @annuali e @mensili?
Le implementazioni comuni di cron supportano @yearly, @monthly, @weekly, @daily, @hourly e @reboot come scorciatoie per pianificazioni comuni. Il generatore produce espressioni standard a 5 campi; puoi sostituire manualmente le scorciatoie se il tuo pianificatore le accetta.