Comprendere un calendario cron prima che venga eseguito
Le espressioni cron sono stringhe di pianificazione compatte utilizzate da server, job CI, piattaforme di automazione e script di manutenzione. Sono potenti, ma un piccolo errore di battitura può trasformare un'attività da giornaliera a ogni minuto, o da giorni feriali a fine settimana.
Questo parser spiega un'espressione cron Unix a 5 campi in linguaggio semplice, scompone ogni campo e mostra le prossime esecuzioni usando il fuso orario che scegli nello strumento.
Dialetto cron supportato
Il parser v1 supporta il cron Unix standard con cinque campi:
minute hour day-of-month month day-of-week - Valori dei minuti da
0to59. - Valori delle ore da
0to23. - Valori giorno del mese da
1to31. - Valori del mese da
1to12, oltre ai nomi comeJANandDEC. - Valori giorno della settimana da
0to7, oltre ai nomi comeMONandFRI. Sia0and7significano Domenica.
Supporta jolly, liste separate da virgola, intervalli e valori di passo come */15 or 9-17/2.
Cosa non è intenzionalmente supportato
I dialetti cron non sono univoci. Quartz, systemd timers, cloud schedulers, Kubernetes, GitHub Actions e piattaforme di hosting possono aggiungere propri campi o operatori speciali.
- I campi dei secondi e gli anni non sono analizzati come cron Unix.
- Operatori di Quartz come
?,L,W, e#vengono segnalati come non supportati. - Macro come
@dailyand@rebootnon vengono espansi. - Il testo del comando dopo una pianificazione non è trattato come parte dell'espressione.
Usa questa pagina come ispezione per pianificazioni in stile Unix. Prima di modificare l'automazione di produzione, verifica l'esatto pianificatore che eseguirà il job.
Fuso orario e comportamento dell'ora legale
Un'espressione cron non include di per sé un fuso orario. La stessa espressione può essere eseguita in momenti diversi a seconda che il server usi UTC, un fuso orario di sistema locale o un'impostazione di fuso orario specifica del pianificatore.
- L'anteprima mostra le esecuzioni nel fuso orario IANA selezionato e in UTC.
- Le transizioni di avanzamento primaverile possono saltare orari locali che non esistono.
- Le transizioni di ritorno possono ripetere un orario locale della giornata; il comportamento del pianificatore può variare.
- Se sia il giorno del mese che il giorno della settimana sono limitati, il cron Unix usa comunemente la semantica OR.
Per job critici, considera l'anteprima come un aiuto pianificativo e conferma il comportamento direttamente nel pianificatore.
Domande frequenti
Questo supporta il cron di Quartz?
No. Il parser supporta solo il cron Unix a 5 campi. I campi dei secondi in stile Quartz, gli anni e operatori come ?, L, W, e # vengono mostrati come non supportati.
Quale fuso orario usa un'espressione cron?
Le espressioni cron non trasportano informazioni sul fuso orario. L'anteprima usa il fuso orario selezionato nello strumento, ma il tuo server o pianificatore potrebbe usare un fuso orario diverso.
Perché giorno del mese e giorno della settimana possono entrambi corrispondere?
Nel comportamento comune del cron Unix, quando entrambi i campi sono limitati, una data può corrispondere se uno dei due campi corrisponde. Per esempio, 0 0 1 * MON può essere eseguito il primo giorno del mese e il lunedì.
Posso incollare la parte del comando da crontab?
Incolla solo i cinque campi della pianificazione. Lo strumento è un parser di pianificazioni, non un parser completo di crontab, quindi il testo del comando dopo la pianificazione non viene interpretato.