Generatore di espressioni cron
Scrivi una pianificazione cron e vedi esattamente quando viene eseguita.
Prossime 10 esecuzioni
Guida rapida alla sintassi cron
| Campo | Valori ammessi |
|---|---|
| Minuto | 0-59 |
| Ora | 0-23 |
| Giorno del mese | 1-31 |
| Mese | 1-12 o JAN-DEC |
| Giorno della settimana | 0-6 o SUN-SAT (anche 7 è domenica) |
| Simbolo | Significato |
|---|---|
* | Ogni valore |
, | Un elenco di valori, come 1,15 |
- | Un intervallo, come 1-5 |
/ | Un passo, come */15 per ogni 15° valore |
Funziona nel browser. Quello che scrivi non viene inviato da nessuna parte.
- Spiegazione in linguaggio semplice
- Prossime 10 esecuzioni
- Preset per i job più comuni
Come scrivere un'espressione cron
- Scegli un preset, oppure scrivi un'espressione con cinque campi.
- Perfeziona i singoli campi nelle caselle qui sotto.
- Controlla la spiegazione e le prossime esecuzioni, poi copia l'espressione.
Pianificazioni cron comuni
| Pianificazione | Espressione | Significato |
|---|---|---|
| Ogni minuto | * * * * * | Viene eseguito 60 volte all'ora |
| Ogni 5 minuti | */5 * * * * | Alle :00, :05, :10 e così via |
| Ogni notte alle 2 | 0 2 * * * | Una volta ogni 24 ore |
| Giorni feriali alle 9 | 0 9 * * 1-5 | Solo da lunedì a venerdì |
| Il primo del mese | 0 0 1 * * | Mezzanotte del giorno 1 |
| Ogni 6 ore | 0 */6 * * * | Mezzanotte, 6, 12 e 18 |
Come cambia cron tra i vari sistemi
Il formato a 5 campi qui sotto è quello che questo generatore crea, ed è anche quello usato direttamente dalla maggior parte degli scheduler di job.
| Sistema | Campi | Nota |
|---|---|---|
| Cron / crontab standard | 5 | Minuto, ora, giorno del mese, mese, giorno della settimana |
| CronJob Kubernetes | 5 | Stesso formato, tra virgolette come stringa in YAML |
| GitHub Actions | 5 | Impostato sotto on.schedule.cron, viene sempre eseguito in UTC |
| Quartz (Java) | 6 o 7 | Aggiunge un campo dei secondi prima del minuto |
| AWS EventBridge | 6 | Aggiunge un campo dell'anno e usa ? per giorno del mese o giorno della settimana |
Copia l'espressione da qui in una pianificazione Quartz o AWS e aggiungi il campo extra che si aspetta; le posizioni di minuto, ora, giorno, mese e giorno della settimana restano le stesse.
Consigli per scrivere pianificazioni cron
- Preferisci un passo a un elenco lungo: */15 * * * * è più corto e chiaro di 0,15,30,45 * * * *.
- Impostare sia il giorno del mese sia il giorno della settimana restringe meno di quanto sembri: il cron standard esegue il job quando uno dei due corrisponde, non solo quando corrispondono entrambi.
- Testa una pianificazione qui prima di incollarla su un server. Un solo campo sbagliato può trasformare un job giornaliero in uno che parte ogni minuto.
- I server di solito eseguono cron in UTC. L'elenco delle prossime esecuzioni sopra è mostrato nel tuo fuso orario, quindi converti prima di supporre che un job sia partito puntuale.
Domande su Generatore di espressioni cron
Cosa significano i cinque campi di un'espressione cron?
Da sinistra a destra: minuto (0-59), ora (0-23), giorno del mese (1-31), mese (1-12) e giorno della settimana (0-6, dove 0 è domenica). Un asterisco significa ogni valore, quindi * * * * * viene eseguito ogni minuto.
Come eseguo un job cron ogni 5 minuti?
Usa */5 * * * *. Il /5 significa ogni quinto valore, quindi viene eseguito ai minuti 0, 5, 10 e così via, in ogni ora di ogni giorno.
Cosa succede se imposto sia il giorno del mese sia il giorno della settimana?
Il cron standard esegue il job quando uno dei due corrisponde. 0 0 1 * 1 viene eseguito a mezzanotte il 1° di ogni mese e anche ogni lunedì.
Quale fuso orario usa cron?
Il fuso orario del server che lo esegue, che spesso è UTC. Gli orari di esecuzione in questa pagina sono nel tuo fuso orario, quindi convertili se il tuo server è impostato diversamente.
Questo formato funziona per Kubernetes, GitHub Actions, Quartz o AWS?
I CronJob di Kubernetes e le pianificazioni di GitHub Actions usano questo stesso formato a 5 campi. Quartz aggiunge un campo dei secondi, e AWS EventBridge aggiunge un campo dell'anno e usa ? in uno dei campi del giorno, quindi vanno adattati.
Come eseguo un job solo nei giorni feriali o solo nel weekend?
Imposta il giorno della settimana su 1-5 per da lunedì a venerdì, oppure 0,6 per sabato e domenica. Lascia giorno del mese e mese come * così non aggiungono altre restrizioni.
Cosa significano scorciatoie come @daily e @hourly?
Sono macro che alcune implementazioni cron accettano al posto dei cinque campi. @hourly è 0 * * * *, @daily è 0 0 * * *, @weekly è 0 0 * * 0, @monthly è 0 0 1 * * e @yearly è 0 0 1 1 *. Scrivi una di queste nella casella dell'espressione qui e si espande automaticamente.