Vai al contenuto principale
LibraTool logoLibraTool

Costruttore Espressioni Cron gratis

Costruisci, valida e spiega espressioni cron per attività pianificate. Descrizione in italiano chiaro, anteprima delle prossime 5 esecuzioni e preset di pattern comuni.

Funziona offline una volta caricato
minuto
(0-59)
ora
(0-23)
giorno
(1-31)
mese
(1-12)
giorno della settimana
(0-7)

In parole semplici

Alle 09:00, Da lunedì a venerdì.

Pattern comuni

Compatibile con Unix cron standard, GitHub Actions, Kubernetes CronJob e la maggior parte dei sistemi di pianificazione. Usa * per 'ogni', */5 per 'ogni 5', 1-5 per intervalli, 1,15 per valori specifici. Accetta anche @hourly, @daily, @weekly, @monthly, @yearly, e nomi come MON-FRI o JAN-DEC.

Usi comuni

  • Costruisci Cron per Workflow GitHub ActionsGitHub Actions utilizza la sintassi cron per workflow pianificati. Costruisci e verifica il tuo programma qui.
  • Costruisci Cron per CronJob KubernetesLe risorse Kubernetes CronJob utilizzano la sintassi cron standard. Costruisci e spiega l'espressione visivamente.
  • Costruisci Espressioni Cron per crontab LinuxCostruisci espressioni per il cron tradizionale Unix (cron, crontab -e) con sicurezza.
  • Pianifica Lavori di Manutenzione del DatabasePianifica lavori di backup, vacuum o analyze con sicurezza utilizzando espressioni cron.
  • Impara Come Funzionano le Espressioni CronOgni modifica mostra una spiegazione in semplice inglese immediata e un'anteprima delle prossime 5 esecuzioni — il modo migliore per imparare cron.

Come funziona

Il costruttore di espressioni cron funziona interamente nel tuo browser usando un parser scritto a mano in lib/cron.ts — nessuna libreria esterna, nessuna chiamata al server. Valida l'espressione, assembla una descrizione in linguaggio semplice usando le API Intl.DateTimeFormat e Intl.ListFormat integrate del browser per nomi di giorni e mesi consapevoli della localizzazione, e calcola i prossimi orari di esecuzione programmati camminando in avanti nel tempo con una logica di salto dei campi invece di provare ogni minuto con forza bruta.

  1. 1
    L'espressione viene analizzata campo per campo
    Il parser divide l'espressione in cinque (o sei) campi delimitati da spazi bianchi e tokenizza ognuno per virgole, intervalli (ad es. 1-5), notazione a passo (ad es. */15), e valori con nome come MON o JAN. Le @macro come @daily vengono espanse nei loro equivalenti a cinque campi prima che inizi l'analisi. Valori non validi o numeri fuori intervallo emergono come chiavi di errore tipizzate che mappano a messaggi localizzati.
  2. 2
    Descrizione leggibile dall'uomo assemblata
    describeCron() in lib/cron.ts costruisce la frase in inglese (o localizzata) esaminando quali campi sono jolly rispetto a insiemi espliciti. I nomi di giorni e mesi sono risolti tramite Intl.DateTimeFormat con la localizzazione attiva, e gli elementi di elenco sono uniti usando Intl.ListFormat così la congiunzione ('e' vs ',' vs forma specifica della localizzazione) corrisponde alla lingua dell'utente.
  3. 3
    I prossimi orari di esecuzione calcolati con salto dei campi
    nextRuns() fa avanzare un oggetto Date dal momento attuale, ma salta interi mesi, giorni, o ore che non possono corrispondere invece di testare ogni minuto. Questo significa che una programmazione impossibile come il 30 febbraio esce rapidamente attraverso un controllo dell'orizzonte di cinque anni invece di ciclare 2,6 milioni di volte.
  4. 4
    Espressione condivisa tramite il frammento URL
    Qualsiasi espressione che digiti viene scritta nel frammento URL della pagina come #expr= (con debounce di 500 ms tramite window.history.replaceState). Il frammento non viene mai inviato a un server; la pagina si idrata da esso al caricamento, così condividere o salvare nei preferiti un URL ripristina l'espressione esatta senza alcuno stato del server.

Strumenti correlati

Domande frequenti