Vés al contingut principal

Constructor d'expressions cron de franc

Construeix, valida i explica expressions cron per a tasques programades. Descripció en llenguatge planer en viu, previsualització de les 5 pròximes execucions i presets de patrons habituals.

Funciona sense connexió un cop carregat
minut
(0-59)
hora
(0-23)
dia
(1-31)
mes
(1-12)
dia de la setmana
(0-7)

En termes senzills

A les 09:00, De dilluns a divendres.

Patrons habituals

Compatible amb el cron Unix estàndard, GitHub Actions, Kubernetes CronJob i la majoria de sistemes de programació. Feu servir * per a „cada", */5 per a „cada 5", 1-5 per a rangs, 1,15 per a valors concrets. També accepta @hourly, @daily, @weekly, @monthly, @yearly, i noms com MON-FRI o JAN-DEC.

Usos habituals

  • Construir Cron per a fluxos de treball de GitHub ActionsGitHub Actions utilitza la sintaxi cron per a fluxos de treball programats. Construïu i verifiqueu el vostre horari aquí.
  • Construir Cron per a CronJobs de KubernetesEls recursos de Kubernetes CronJob utilitzen sintaxi cron estàndard. Construïu i expliqueu l'expressió visualment.
  • Construir entrades Cron per a Linux crontabConstruïu expressions per a cron Unix tradicional (cron, crontab -e) amb confiança.
  • Programar treballs de manteniment de base de dadesProgrameu treballs de còpia de seguretat, buit o anàlisi amb confiança utilitzant expressions cron.
  • Conèixer com funcionen les expressions CronCada ajust mostra una explicació immediata en anglès i una vista prèvia de les 5 execucions següents — la millor manera d'aprendre cron.

Com funciona

El constructor d'expressions cron s'executa completament al teu navegador utilitzant un analitzador escrit a mà a lib/cron.ts — sense biblioteca externa, sense crida al servidor. Valida l'expressió, assembla una descripció en anglès planer utilitzant les API Intl.DateTimeFormat i Intl.ListFormat integrades del navegador per a noms de dies i mesos conscients de la configuració regional, i calcula les properes execucions programades avançant en el temps amb una lògica de salt de camps en lloc de provar força bruta cada minut.

  1. 1
    Expressió analitzada camp per camp
    L'analitzador divideix l'expressió en cinc (o sis) camps delimitats per espais i tokenitza cadascun per comes, rangs (per exemple, 1-5), notació de pas (per exemple, */15), i valors amb nom com MON o JAN. Els @macros com @daily s'expandeixen als seus equivalents de cinc camps abans que comenci l'anàlisi. Els valors no vàlids o els números fora de rang es mostren com a claus d'error tipades que es mapegen a missatges localitzats.
  2. 2
    Descripció llegible per humans assemblada
    describeCron() a lib/cron.ts construeix la frase en anglès (o localitzada) inspeccionant quins camps són comodins enfront de conjunts explícits. Els noms de dies i mesos es resolen a través d'Intl.DateTimeFormat amb la configuració regional activa, i els elements de llista s'uneixen utilitzant Intl.ListFormat perquè la conjunció ('i' vs ',' vs una forma específica de la configuració regional) coincideixi amb l'idioma de l'usuari.
  3. 3
    Properes execucions calculades amb salt de camps
    nextRuns() avança un objecte Date des del moment actual, però salta mesos, dies o hores sencers que no poden coincidir en lloc de provar cada minut. Això significa que un horari impossible com el 30 de febrer surt ràpidament a través d'una comprovació d'horitzó de cinc anys en lloc de fer un bucle 2,6 milions de vegades.
  4. 4
    Expressió compartida a través del fragment d'URL
    Qualsevol expressió que escriguis s'escriu al fragment d'URL de la pàgina com #expr= (amb un rebot de 500 ms via window.history.replaceState). El fragment mai s'envia a cap servidor; la pàgina s'hidrata a partir d'ell en carregar-se, així que compartir o desar a preferits un URL restaura l'expressió exacta sense cap estat de servidor.

Eines relacionades

Preguntes freqüents