Riassunto
Questo generatore di espressioni cron trasforma una descrizione di schedule, oppure una stringa cron incollata, in un'espressione validata a 5 campi: minuto, ora, giorno del mese, mese e giorno della settimana. Scegli una schedule comune come ogni 5 minuti o weekday alle 9 AM, oppure modifica ogni campo direttamente, con supporto per range, liste e valori step. Lo strumento renderizza una descrizione in linguaggio naturale della schedule e calcola i prossimi 5 orari di esecuzione in UTC, usando la stessa logica OR per day-of-month e day-of-week che vixie-cron e Kubernetes CronJob usano, quindi quello che vedi qui corrisponde a quello che effettivamente si esegue in produzione.
Generatore di Espressioni Cron per Job Programmati e Rollout Window
Crea un'espressione cron a 5 campi da preset, oppure incolla una per controllarla. Otieni una descrizione in linguaggio naturale e i prossimi cinque orari di esecuzione prima di spedire la schedule.
Come funziona questo generatore di espressioni cron
Cinque campi, sintassi standard
Minuto, ora, giorno del mese, mese, e giorno della settimana: gli stessi campi che crontab, GitHub Actions schedule, e Kubernetes CronJob tutti leggono. Gli intervalli (9-17), le liste (1,15,30), gli step (*/5), e i caratteri jolly vengono analizzati nello stesso modo in cui lo fanno in produzione.
I campi day sono OR'd, non AND'd
Imposta il giorno del mese a 1 e il giorno della settimana a lunedì, e il job si esegue il primo del mese o su un lunedì qualsiasi, non solo quando entrambi coincidono. È così che vixie-cron e Kubernetes CronJob effettivamente lo valutano, e è il dettaglio che la maggior parte dei generatori non considera.
Prossime cinque esecuzioni, calcolate in tempo reale
Ogni modifica ricalcola cinque timestamp UTC camminando in avanti attraverso il calendario reale, quindi una schedule che non può mai essere eseguita, come il giorno 30 a febbraio, mostri vuoto qui invece di stare silenziosamente morta in una crontab.
Incolla per controllare, non solo per costruire
Hai già una stringa cron da un collega, un manifesto CronJob, o una vecchia risposta Stack Overflow? Incollalo nel campo e ottieni la stessa descrizione e gli orari di esecuzione, nessun validatore separato necessario.
Dai campi vuoti a una schedule di cui ti fidi
-
1
Inizia da un preset
Scegli una schedule comune (ogni 5 minuti, weekday alle 9 AM, il 1° del mese), oppure lascia i valori predefiniti e regola da lì.
-
2
Regola i campi che contano
Usa i dropdown quick-pick o digita direttamente: liste separate da virgola, trattini per intervalli, e */N per gli step funzionano in ogni campo.
-
3
Conferma prima di spedirla
Leggi la descrizione in linguaggio naturale e controlla i prossimi cinque orari di esecuzione rispetto alla tua finestra di manutenzione o budget SLO, poi copia l'espressione nella tua crontab, CI schedule, o manifesto CronJob.
Perché i campi giorno-del-mese e giorno-della-settimana usano logica OR
POSIX/vixie-cron, l'implementazione dietro Linux crontab e Kubernetes CronJob, ha una strana regola che la maggior parte delle persone non legge mai completamente. Se entrambi i campi giorno-del-mese e giorno-della-settimana sono ristretto lontano da *, il job si esegue quando uno dei due corrisponde, non solo quando entrambi lo fanno. Imposta giorno-del-mese a 1 e giorno-della-settimana a lunedì, e la schedule si accende il primo del mese e su ogni lunedì, non solo su un lunedì che capita di essere il primo. Lascia uno dei due campi come *, e solo il campo ristretto vincola il giorno. Questo generatore segue quella convenzione perché è quello che effettivamente esegue la tua crontab, non una versione semplificata di essa. Conta di più per il tipo di schedule che un team platform scrive alle 23:00: esegui questo il primo giorno lavorativo, o il primo del mese, il che viene prima, appare come un AND per la maggior parte delle persone e si comporta come un OR in produzione.
- POSIX/vixie-cron (Linux crontab, Kubernetes CronJob): OR una volta che uno dei due campi day è ristretto
- Quartz cron (comune negli scheduler basati su Java): di solito richiede che uno dei due campi day rimanga come ? invece di *, evitando completamente l'ambiguità
- Questo generatore segue la convenzione POSIX/vixie-cron, dal momento che è quello che crontab e CronJob effettivamente eseguono
Domande comuni
Questo generatore di espressioni cron è gratuito?
In quale fuso orario vengono mostrati gli orari di esecuzione successivi?
Perché il giorno-del-mese 1 e il giorno-della-settimana lunedì si eseguono entrambi, non solo quando si sovrappongono?
Supporta @daily, @reboot, o altri macro di scorciatoia?
Il mio schedule è inviato a un server?
Il calcolo del prossimo esecuzione tiene conto dell'ora legale?
Posso digitare nomi di mesi o giorni della settimana invece dei numeri?
Il job cron si accende. Cosa vincola il deploy che innesca?
upstreamapi lega i rollout dei feature-flag a un budget SLO, quindi un deploy innescato da cron può auto-rollback prima che il pager squilli, non dopo.