tigtools

Cron-lausekkeen selittäjä

Syötä 5-kenttäinen cron-aikataulu nähdäksesi, mitä se tarkoittaa ja milloin se seuraavan kerran ajetaan. Kaikki lasketaan selaimessasi.

Toimii selaimessasi Ei rekisteröitymistä

Viisi kenttää: minuutti, tunti, kuukauden päivä, kuukausi, viikonpäivä. Myös makrot, kuten @daily, toimivat.

Yleiset ajastukset

Merkitys

Joka 15 minuutin välein, välillä 09:00 ja 17:59, päivinä maanantai–perjantai.

Kentät

Minuutti
*/15
Tunti
9-17
Kuukauden päivä
*
Kuukausi
*
Viikonpäivä
1-5
Aikavyöhyke

Seuraavat 10 suoritusta

    Käyttöohje

    1. Kirjoita tai liitä cron-lauseke tai valitse jokin yleisistä aikatauluista.
    2. Lue selkokielinen merkitys. Virheelliset kentät ilmoitetaan syineen.
    3. Tarkista seuraavat 10 ajoaikaa, jotka näytetään paikallisessa aikavyöhykkeessäsi. Vaihda UTC:hen, jos palvelimesi toimii UTC:ssä.
    4. Kopioi ajoajat jakaaksesi ne tai säädä lauseketta, kunnes aikataulu on tarvitsemasi.

    Näin se toimii

    Tavallinen cron-lauseke, jota käyttävät Linuxin crontab (Vixie cron ja cronie) sekä monet CI- ja hosting-ajastimet, koostuu viidestä välilyönnein erotetusta kentästä: minuutti (0–59), tunti (0–23), kuukauden päivä (1–31), kuukausi (1–12 tai JAN–DEC) ja viikonpäivä (0–7 tai SUN–SAT, joissa sekä 0 että 7 tarkoittavat sunnuntaita). Jokainen kenttä hyväksyy * kaikille arvoille, yksittäisen arvon, välin kuten 1-5, luettelon kuten 1,15,30 ja askeleen kuten */15 (joka 15. arvo) tai 9-17/2 (joka toinen tunti 9:stä 17:ään). Nimet eivät erottele kirjainkokoa. Lyhenteet @yearly (tai @annually), @monthly, @weekly, @daily (tai @midnight) ja @hourly vastaavat lausekkeita 0 0 1 1 *, 0 0 1 * *, 0 0 * * 0, 0 0 * * * ja 0 * * * *.

    Kuukauden päivä- ja viikonpäiväkentissä on sääntö, joka yllättää monet. Jos jompikumpi kenttä alkaa *-merkillä, päivän on täytettävä molemmat kentät. Jos molemmat kentät on rajattu, päivä täsmää, kun kumpi tahansa niistä täsmää: 0 0 13 * 5 suoritetaan joka kuukauden 13. päivä ja myös joka perjantai, ei vain perjantaina 13. päivänä. Koska ehtona on, alkaako kenttä *-merkillä, myös askel kuten */2 lasketaan rajaamattomaksi. Tämä vastaa Vixie cronia ja cronieta; jotkin muut ajastimet toimivat eri tavoin.

    Seuraavat suoritusajat lasketaan selaimesi aikavyöhykkeessä tai UTC:ssä, jota useimmat palvelimet ja pilviajastimet käyttävät. Cron itse käyttää sen koneen aikavyöhykettä, jolla se toimii. Kesäaikaan siirtymisen ympärillä todelliset cron-daemonit eroavat toisistaan; tämä työkalu jättää pois paikalliset ajat, joita ei ole kelloja siirrettäessä eteenpäin, ja listaa toistuvan tunnin kerran. Laajennettuja syntakseja ei tueta: kuusi- tai seitsemänkenttäisiä Quartz-lausekkeita, joissa on sekunnit tai vuodet, eikä erikoismerkkejä ?, L, W ja #.

    Esimerkit

    Toimistoaikojen terveystarkistus

    */15 9-17 * * 1-5 tarkoittaa joka 15. minuuttia kello 09:00–17:59 maanantaista perjantaihin. Päivän viimeinen suoritus on kello 17:45.

    Yöllinen varmuuskopiointi

    30 2 * * * suoritetaan joka päivä kello 02:30. Jos palvelin käyttää UTC:tä ja olet New Yorkissa, seuraavien suoritusten luettelo UTC-tilassa näyttää ajat, joita palvelin todellisuudessa käyttää.

    Päiväkentän ansa

    0 9 1 * 1 näyttää siltä kuin ”9:00 kuukauden ensimmäisenä päivänä, jos se on maanantai”, mutta se suoritetaan klo 09:00 jokaisen kuukauden 1. päivänä ja myös jokaisena maanantaina. Jos haluat ajaa vain ensimmäisenä maanantaina, ajasta 0 9 1-7 * * ja tarkista viikonpäivä skriptissä.

    Usein kysytyt kysymykset

    Mitä */5 tarkoittaa cronissa?

    Se tarkoittaa joka viidettä kentän arvoa, alkaen pienimmästä arvosta. Minuuttikentässä */5 ajaa minuuteilla 0, 5, 10 … 55. Tuntikentässä */5 ajaa tunneilla 0, 5, 10, 15 ja 20, joten tauko klo 20:00 ja keskiyön välillä on neljä tuntia, ei viisi.

    Miksi työni suoritetaan useampana päivänä kuin odotin?

    Kun sekä kuukauden päivän että viikonpäivän kentät ovat rajoitettuja, cron ajaa päivinä, jotka täsmäävät jompaankumpaan. Esimerkiksi 0 0 15 * 1 ajaa 15. päivänä ja jokaisena maanantaina. Aseta toinen kahdesta kentästä arvoon * vaatiaksesi vain toisen.

    Mitä aikavyöhykettä cron käyttää?

    Palvelimen järjestelmän aikavyöhyke, jolla cron-daemon toimii, ellei crontabissa määritetä CRON_TZ tai TZ (tuettu croniessa). Pilviajastimet käyttävät usein oletuksena UTC:tä. Käytä UTC-kytkintä nähdäksesi ajat, joita UTC-palvelin käyttäisi.

    Voinko käyttää sekunteja tai vuosikenttää?

    Ei standardissa cronissa, jolla on minuutin tarkkuus ja viisi kenttää. Kuusi- ja seitsemänkenttäiset muodot sekunteineen ja vuosineen kuuluvat Quartzille, Springille ja vastaaville kirjastoille, eikä tämä työkalu tue niitä.

    Tarkoittaako 0 vai 7 sunnuntaita?

    Molemmat. Viikonpäiväkentässä 0 ja 7 tarkoittavat molemmat sunnuntaita, 1 on maanantai ja 6 on lauantai. Voit myös kirjoittaa kolmikirjaimiset nimet SUN:sta SAT:iin.

    Tietosuoja

    Lauseke jäsennetään ja ajoajat lasketaan selaimessasi. Mitään syöttämääsi ei ladata, tallenneta tai sisällytetä analytiikkaan.