Ilmainen muunnin

Cron Expression Generaattori

Luo, selitä ja vahvista cron-lausekkeet välittömästi selaimessasi. Visuaalinen rakentaja ja lausekkeen jäsentäjä – ilmainen, yksityinen ja asiakaspuoli.

Cron Expression
0 */6 * * *
Ihmisen luettava kuvaus
Every minute
Seuraavat 5 aikataulun mukaista juoksua
Calculating...

Tietoa tästä työkalusta

Cron-lausekkeet ovat viisi (tai kuusi, järjestelmästä riippuen) välilyönnillä erotettua kenttää, jotka kuvaavat aikataulua: minuutti, tunti, kuukauden päivä, kuukausi ja viikonpäivä. Jokainen kenttä hyväksyy numeeriset arvot, alueet, luettelot, lisäykset ja yleismerkit. Cron on ollut tosiasiallinen Unix-aikatauluformaatti 1970-luvun lopulta lähtien, ja nyt sitä käytetään paljon Unixin ulkopuolella – Kubernetes CronJobsissa, GitHub Actionsissa, AWS EventBridge -säännöissä, Jenkins-töissä ja melkein kaikissa muissa tuotannossa olevissa aikataulujärjestelmissä.

Cron-lausekkeiden lukeminen ja kirjoittaminen käsin on virhealtista. Kentät ovat sijaintikohtaisia, kuukauden ja viikonpäivän välinen vuorovaikutus ei ole ilmeinen (jommankumman kentän arvo laukaisee työn, ei molempien), ja virheet tuottavat hiljaa aikatauluja, jotka näyttävät oikealta, mutta toimivat vääriin aikoina. Generaattori, joka kääntää tavalliset englanninkieliset aikataulut oikeaksi cron-syntaksiksi, välttää nämä virheet.

Tämä työkalu tarjoaa kaksi suuntaa: cron-lausekkeen rakentaminen ystävällisestä lomakkeesta (joka maanantai klo 9, joka viides minuutti työaikana) ja olemassa olevan cron-lausekkeen selittäminen ihmisillä. Molemmat toimivat selaimessasi ilman palvelimen vuorovaikutusta.

Miksi käyttää Cron-generaattoria

Cronin syntaksi on tiheä ja anteeksiantamaton. Yleisiä virheitä ovat sekalainen viikonpäivän numerointi (sunnuntai on 0 tai 7 järjestelmästä riippuen), kuukaudenpäivän ja viikonpäivän TAI -semantiikan unohtaminen ja lisäyssyntaksin väärinymmärtäminen (*/5 tarkoittaa joka 5. alkaen 0:sta). Generaattori kerää nämä rakenteella – tuotetut lausekkeet vastaavat lomakkeessa kuvailemaasi.

Olemassa olevien lausekkeiden lukeminen on yhtä vaikeaa. Aikataulu, kuten 0 9 * * 1-5, lukee kuten joka arkipäivä klo 9, kun tiedät syntaksin, mutta jokaisen, joka ei tunne cronia, on etsittävä jokainen kenttä. Ilmaisun selittäminen ihmisillä on nopeampaa kuin syntaksin oppiminen kertaluonteisille vuorovaikutuksille.

Käyttöohjeet

Valitse aikataulukuvio ja hanki cron-lauseke.

  1. Valitse sukupolvitila: Rakenna cron-lauseke lomakesyötteistä (taajuus, aika, päivät) tai selitä olemassa oleva lauseke ihmisillä.
  2. Määritä aikataulu: Valitse taajuus (joka minuutti, joka tunti, joka päivä, joka viikko, joka kuukausi, mukautettu). Määritä ajat, päivät ja välit tarpeen mukaan. Lomake rajoittaa syötteet kelvollisiin yhdistelmiin.
  3. Luo tai selitä: Generation tuottaa standardin cron-syntaksin (5 kenttää). Selitys erittelee jokaisen kentän ja antaa ihmisen luettavan yhteenvedon.
  4. Käytä ajastimessasi: Liitä luotu lauseke Kubernetes CronJob -spesifikaatioon, GitHub Actions -aikatauluun, AWS EventBridgeen tai alustasi ajoitusohjelmaan.

Yleiset käyttötapaukset

Tekniset tiedot

Vakio cronissa on viisi kenttää: minuutti (0–59), tunti (0–23), kuukauden päivä (1–31), kuukausi (1–12), viikonpäivä (0–6 tai 0–7, molemmat sunnuntait). Jokainen kenttä hyväksyy yhden arvon, pilkuilla erotetun luettelon, väliviivan, lisäyksen / tai jokerimerkin *.

Kuukauden ja viikonpäivän käyttö TAI semantiikka: jos jompikumpi on asetettu muuhun kuin jokerimerkkiin, työ suoritetaan, kun jompikumpi vastaa. Tämä on ristiriitaista, mutta vastaa POSIX cronin toimintaa. Molempien kenttien asettaminen tuottaa laajemman aikataulun, ei kapeampaa.

Laajennukset vaihtelevat toteutuksen mukaan. Jotkut hyväksyvät kuudennen kentän sekunneiksi (kvartsi, jousi); jotkut hyväksyvät? yleismerkkivaihtoehtona; Jotkut sisältävät @yearly, @monthly, @daily pikanäppäimet. Generaattori tuottaa tavallisen 5-kentän cronin, joka sopii useimpiin järjestelmiin.

Parhaat käytännöt

Usein kysytyt kysymykset

Mikä on cron-lausekemuoto?
Vakio cron käyttää 5 kenttää: minuutti (0-59), tunti (0-23), kuukauden päivä (1-31), kuukausi (1-12), viikonpäivä (0-7, missä 0 ja 7 ovat sunnuntai). Erikoismerkit: * (mikä tahansa), , (luettelo), - (alue), / (vaihe).
Kuinka asetan työn juoksemaan 5 minuutin välein?
Käytä */5 minuuttikentässä: '*/5 * * * *'. /5 tarkoittaa "joka viides arvo". Vastaavasti */15 = 15 minuutin välein, */2 = 2 minuutin välein.
Mitä aikavyöhykettä cron käyttää?
Cron käyttää tyypillisesti järjestelmän aikavyöhykettä. Linux-palvelimilla tämä on yleensä UTC, ellei toisin ole määritetty. Pilvipalvelut (AWS, GCP) ovat usein oletuksena UTC. Tarkista aina järjestelmäsi aikavyöhykeasetus.
Onko tämä sama muoto, jota GitHub Actions käyttää?
GitHub Actions käyttää samaa 5-kentän muotoa, mutta toimii UTC-aikavyöhykkeellä. Myös AWS CloudWatch ja Kubernetes CronJobs käyttävät tätä muotoa. Jotkut järjestelmät, kuten Quartz, käyttävät laajennettua 6-7 kenttämuotoa sekunneilla.
Mitä eroa on viikonpäivän nollalla ja 7:llä?
Molemmat tarkoittavat sunnuntaita. POSIX cron hyväksyy arvot 0–6 tai 0–7. Käytä mitä tahansa cron-toteutustasi; useimmat hyväksyvät molemmat.
Onko selittäjä tarkka epästandardille cronille?
Se kohdistuu tavalliseen 5-kentän croniin. Kvartsilaajennukset (sekunneilla), AWS EventBridge -muunnelmat ja muut murteet eivät ehkä jäsenny oikein. Vahvista kohdejärjestelmän dokumentaatiossa.
Lähetetäänkö lauseeni palvelimelle?
Ei. Luominen ja selitys tapahtuvat selaimessasi.
Entä @yearly-, @monthly-pikakuvakkeet?
Yleiset cron-toteutukset tukevat @yearly-, @monthly-, @weekly-, @daly-, @hourly- ja @reboot-oikoteitä yleisille aikatauluille. Generaattori tuottaa standardinmukaisia ​​5-kentän lausekkeita; voit korvata pikakuvakkeet manuaalisesti, jos aikataulusi hyväksyy ne.