Generatore di espressioni cron

Scrivi una pianificazione cron e vedi esattamente quando viene eseguita.

0-59
0-23
1-31
1-12 o JAN-DEC
0-6 o SUN-SAT (anche 7 è domenica)
At 09:00 AM, Monday through Friday

Prossime 10 esecuzioni

    Guida rapida alla sintassi cron
    CampoValori ammessi
    Minuto0-59
    Ora0-23
    Giorno del mese1-31
    Mese1-12 o JAN-DEC
    Giorno della settimana0-6 o SUN-SAT (anche 7 è domenica)
    SimboloSignificato
    *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.

    Come scrivere un'espressione cron

    1. Scegli un preset, oppure scrivi un'espressione con cinque campi.
    2. Perfeziona i singoli campi nelle caselle qui sotto.
    3. Controlla la spiegazione e le prossime esecuzioni, poi copia l'espressione.

    Pianificazioni cron comuni

    PianificazioneEspressioneSignificato
    Ogni minuto* * * * *Viene eseguito 60 volte all'ora
    Ogni 5 minuti*/5 * * * *Alle :00, :05, :10 e così via
    Ogni notte alle 20 2 * * *Una volta ogni 24 ore
    Giorni feriali alle 90 9 * * 1-5Solo da lunedì a venerdì
    Il primo del mese0 0 1 * *Mezzanotte del giorno 1
    Ogni 6 ore0 */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.

    SistemaCampiNota
    Cron / crontab standard5Minuto, ora, giorno del mese, mese, giorno della settimana
    CronJob Kubernetes5Stesso formato, tra virgolette come stringa in YAML
    GitHub Actions5Impostato sotto on.schedule.cron, viene sempre eseguito in UTC
    Quartz (Java)6 o 7Aggiunge un campo dei secondi prima del minuto
    AWS EventBridge6Aggiunge 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.

    Strumenti correlati