Salt la conținutul principal
LibraTool logoLibraTool

Constructor Expresii Cron — gratuit

Construiește, validează și explică expresii cron pentru sarcini programate. Descriere live în limbaj simplu, previzualizare a următoarelor 5 execuții și presetări de modele comune.

Funcționează offline odată încărcat
minut
(0-59)
oră
(0-23)
zi
(1-31)
lună
(1-12)
zi din săptămână
(0-7)

În limbaj simplu

La 09:00, Luni până vineri.

Șabloane comune

Compatibil cu cron Unix standard, GitHub Actions, Kubernetes CronJob și majoritatea sistemelor de planificare. Folosește * pentru „orice", */5 pentru „la fiecare 5", 1-5 pentru intervale, 1,15 pentru valori specifice. Acceptă de asemenea @hourly, @daily, @weekly, @monthly, @yearly și nume cum ar fi MON-FRI sau JAN-DEC.

Utilizări frecvente

  • Construiți Cron pentru fluxurile de lucru GitHub ActionsGitHub Actions folosește sintaxa cron pentru fluxurile de lucru programate. Construiți și verificați-vă programul aici.
  • Construiți Cron pentru Kubernetes CronJobsResursele Kubernetes CronJob utilizează sintaxa cron standard. Construiți și explicați expresia vizual.
  • Construiți intrări Cron pentru Linux crontabConstruiți expresii pentru cron tradițional Unix (cron, crontab -e) cu încredere.
  • Programare lucrări de întreținere bază de dateProgramare copiere de siguranță, vid sau analizare locuri de muncă cu încredere folosind expresii cron.
  • Aflați cum funcționează expresiile CronFiecare ajustare afișează o explicație imediată în limba engleză și o previzualizare a următoarelor 5 rulări — cel mai bun mod de a învăța cron.

Cum funcționează

Constructorul de expresii cron rulează în întregime în browser-ul tău folosind un parser scris manual în lib/cron.ts — fără bibliotecă externă, fără apel de server. Validează expresia, asamblează o descriere în engleză simplă folosind API-urile integrate Intl.DateTimeFormat și Intl.ListFormat ale browser-ului pentru nume de zile și luni conștiente de locală, și calculează următoarele momente de rulare programate parcurgând înainte prin timp cu logică de sărire a câmpurilor mai degrabă decât forțarea fiecărui minut.

  1. 1
    Expresia parsată câmp-cu-câmp
    Parserul împarte expresia în cinci (sau șase) câmpuri delimitate prin spații albe și tokenizează fiecare pentru virgule, intervale (de exemplu, 1-5), notație de pas (de exemplu, */15), și valori numite precum MON sau JAN. Macrocomenzile @ precum @daily sunt extinse la echivalentele lor cu cinci câmpuri înainte ca parsarea să înceapă. Valorile invalide sau numerele în afara intervalului apar ca chei de eroare tipizate care mapează la mesaje localizate.
  2. 2
    Descrierea lizibilă pentru om asamblată
    describeCron() în lib/cron.ts construiește propoziția în engleză (sau localizată) inspectând care câmpuri sunt wildcard-uri versus seturi explicite. Numele de zile și luni sunt rezolvate prin Intl.DateTimeFormat cu locala activă, iar elementele de listă sunt unite folosind Intl.ListFormat astfel încât conjuncția ('și' vs ',' vs formă specifică localei) se potrivește limbii utilizatorului.
  3. 3
    Următoarele momente de rulare calculate cu sărirea câmpurilor
    nextRuns() parcurge un obiect Date înainte de la momentul curent, dar sare peste luni, zile, sau ore întregi care nu se pot potrivi în loc să testeze fiecare minut. Aceasta înseamnă că un program imposibil precum 30 februarie iese rapid printr-o verificare de orizont de cinci ani în loc să repete de 2,6 milioane de ori.
  4. 4
    Expresia partajată prin fragmentul URL
    Orice expresie pe care o scrii este scrisă în fragmentul URL al paginii ca #expr= (cu debounce de 500 ms prin window.history.replaceState). Fragmentul nu este niciodată trimis către un server; pagina se hidratează din el la încărcare, astfel încât partajarea sau salvarea la favorite a unui URL restaurează expresia exactă fără nicio stare de server.

Instrumente similare

Întrebări frecvente