Cron-avaldise koostaja
Koosta cron-avaldis väli haaval, loe seda lihtsate sõnadega, vaata järgmisi käivitusaegu mis tahes ajavööndis ja teisenda systemd või Quartzi vormingusse.
Lihtsate sõnadega
Määratud on nii kuupäev kui ka nädalapäev: klassikaline cron käivitub, kui KUMMAGI tingimus on täidetud (mitte mõlemad).
Koostaja
| Väli | Režiim | Väärtus |
|---|---|---|
| Sekund0–59 | ||
| Minut0–59 | ||
| Tund0–23 | ||
| Kuupäev1–31, L | ||
| Kuu1–12 või JAN–DEC | ||
| Nädalapäev0–7 (0 ja 7 = pühapäev) või SUN–SAT |
Järgmised käivitused
Muud vormingud
- crontab-rida
- systemd OnCalendar=
- Quartz / Spring
- AWS EventBridge
Kuidas cron-avaldist koostada
- Kirjuta või kleebi avaldis väljale Cron-avaldis või vali see jaotisest Eelseadistused. Makrod nagu
@dailyvõi@weeklyon samuti lubatud. - Või kasuta Koostajat: vali iga välja jaoks Režiim (Iga, Iga N-s, Kindlad väärtused, Vahemik või Oma) ja täida Väärtus. Avaldis uueneb jooksvalt ning avaldise muutmine uuendab koostajat.
- Märgi Lisa sekundiväli (6 välja), kui sinu ajastaja toetab sekundeid.
- Loe ajakava Lihtsate sõnadega (lehe keeles, kui kirjeldusteek seda toetab, muidu inglise keeles) ja vaata loendit Järgmised käivitused. Vali töö käivitava serveri Ajavöönd ja Mitu käivitust loetleda.
- Kopeeri avaldis nupuga Kopeeri või kasuta mõnda Muud vormingut.
Vigu selgitatakse väli haaval, näiteks „Minut: 61 on vahemikust väljas (0–59)“, nii et tead täpselt, mida parandada.
Viis cron-välja
Standardne (Vixie) cron-rida koosneb viiest väljast, millele järgneb käsk:
| Väli | Lubatud väärtused |
|---|---|
| Minut | 0–59 |
| Tund | 0–23 |
| Kuupäev | 1–31 |
| Kuu | 1–12 või JAN–DEC |
| Nädalapäev | 0–7 (0 ja 7 on pühapäev) või SUN–SAT |
Iga väli aktsepteerib * (iga väärtus), loendit 1,15, vahemikku 9-17, sammu */15 (iga 15 ühiku järel) või sammuga vahemikku 0-30/10. Seega */15 9-17 * * 1-5 tähendab iga 15 minuti järel kella 9:00-st 17:45-ni, esmaspäevast reedeni.
Üks reegel üllatab paljusid: kui nii Kuupäev kui ka Nädalapäev on piiratud, käivitub klassikaline cron, kui kumbki neist sobib. 0 0 13 * 5 käivitub igal 13. kuupäeval ja igal reedel, mitte ainult reede 13. kuupäeval. Sellisel juhul näitab tööriist hoiatust.
Järgmised käivitusajad ja ajavööndid
Cron kasutab masina kella või crontabi seadistust CRON_TZ/TZ. Loend Järgmised käivitused arvutatakse valitud ajavööndi jaoks, sealhulgas suve- ja talveaja üleminekud: kevadisel üleminekul võidakse kell 2:30 seatud töö vahele jätta ning sügisel võib see olenevalt teostusest käivituda ühe või kaks korda. Tööde jaoks, mis peavad käivituma täpselt ühe korra, eelista aegu väljaspool 1:00–3:00 või kasuta UTC-d.
Vixie cron, systemd taimerid, Quartz ja AWS
- systemd taimerid kasutavad
OnCalendar=teistsuguse süntaksiga:Mon..Fri *-*-* 09..17:00/15:00. Nädalapäeva ja kuupäeva tingimused ühendatakse JA, mitte VÕI abil, seega mõnel cron-avaldisel täpset vastet pole. - Quartz ja Spring panevad sekundivälja esimeseks ja võivad lisada aasta välja. Üks kahest päevaväljast peab olema
?, ja Quartz nummerdab nädalapäevad 1–7 alates pühapäevast, erinevalt cron 0–6-st. Tööriist kirjutab nädalapäevad nimedena (MON-FRI), et seda lõksu vältida. - AWS EventBridge kasutab kuju
cron(minutid tunnid kuupäev kuu nädalapäev aasta): kuus välja, ilma sekunditeta,?ühel päevaväljal ja aasta lõpus.
Standardsel cronil sekundivälja pole. Kuuest väljast koosnevat sekunditega vormi toetavad paljud teegid (node-cron, Spring, Quartz), kuid süsteemi crontab mitte.
Korduma kippuvad küsimused
Kuidas käivitada tööd iga 5 minuti järel?
Kasuta */5 * * * *. Töö käivitub iga tunni minutitel 0, 5, 10 jne.
Kuidas käivitada tööd kuu viimasel päeval?
Paljud ajastajad aktsepteerivad kuupäevaväljal L: 0 18 L * *. Tavalise Vixie croniga käivita iga päev kuupäevadel 28–31 ja kontrolli skriptis, kas homme on 1. kuupäev.
Mida teeb @reboot?
See käivitab käsu ühe korra, kui cron-deemon käivitub. Sellel pole ajakava, seega ei saa tööriist selle käivitusaegu loetleda.
Miks minu töö ei käivitu näidatud ajal?
Kontrolli serveri ajavööndit, kasutaja crontabi ja /etc/crontab-i erinevust (viimasel on lisaväli kasutaja jaoks) ning PATH-i: cron käivitub minimaalse keskkonnaga.
Kas pühapäev on 0 või 7?
Mõlemad. Nädalapäeva väljal tähendavad 0 ja 7 pühapäeva, 1 on esmaspäev ja 6 on laupäev.
Seotud tööriistad
- Unixi ajatempli muundur Teisenda Unixi ajatemplid sekundites või millisekundites loetavateks kuupäevadeks kohalikus ajas, UTC-s ja ISO 8601 kujul ning kuupäevad tagasi epoch-ajaks.
- Ajavööndite teisendaja Teisenda kuupäev ja kellaaeg ühest ajavööndist korraga mitmesse teise; suve- ja talveaega käsitletakse automaatselt. Otsi mis tahes linna.
- Chmodi kalkulaator Teisenda Unixi failiõigused märkeruutude, kaheksandkuju (755) ja sümbolkuju (rwxr-xr-x) vahel, setuid, setgid ja sticky bitiga ning valmis chmod-käskudega.