Cron-uitdrukkinggenerator
Skryf en lees crontab-skedules. Tik 'n cron-uitdrukking in en sien in woorde wanneer dit loop, die volgende looptye, en wat elk van die vyf velde beteken.
Elke minuut.
Volgende lopies
Tye word in jou rekenaar se tydsone () gewys. Cron gebruik die bediener s'n, wat dikwels nie dieselfde is nie.
Algemene skedules
Kies een om dit in die veld hierbo te laai.
| * * * * * | Elke minuut |
| */5 * * * * | Elke 5 minute |
| */15 * * * * | Elke 15 minute |
| */30 * * * * | Elke halfuur |
| 0 * * * * | Elke uur |
| 0 */2 * * * | Elke 2 uur |
| 0 */6 * * * | Elke 6 uur |
| 0 */12 * * * | Twee keer per dag |
| 0 0 * * * | Elke dag om middernag |
| 0 9 * * * | Elke dag om 9 die oggend |
| 0 9 * * 1-5 | Weeksdae om 9 die oggend |
| 0 9 * * 6,0 | Saterdag en Sondag om 9 |
| 0 0 * * 1 | Elke Maandag om middernag |
| 0 18 * * 5 | Elke Vrydag om 6 die aand |
| 0 0 1 * * | Eerste dag van die maand |
| 0 0 1 1 * | Eerste dag van die jaar |
Wat elke veld beteken
| Veld | Toegelate waardes |
|---|---|
| Minuut | 0 – 59 |
| Uur | 0 – 23 |
| Dag van die maand | 1 – 31 |
| Maand | 1 – 12, JAN – DEC |
| Dag van die week | 0 – 6, SUN – SAT (0 = 7) |
Spesiale karakters
| Karakter | Betekenis |
|---|---|
| * | enige waarde |
| , | skei waardes in 'n lys |
| - | 'n reeks waardes |
| / | stappe binne 'n reeks |
Kortpaaie
| @yearly, @annually | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily, @midnight | 0 0 * * * |
| @hourly | 0 * * * * |
| @reboot | — |
Hulle is nie deel van POSIX-cron nie, maar byna elke implementering aanvaar hulle.
Waaroor mense gewoonlik struikel
- Wanneer die dag van die maand en die dag van die week albei beperk is, loop cron op dae wat by een van die twee pas, nie by albei nie. “* * 3 * 1” loop op die 3de van die maand en elke Maandag. Die uitsondering is wanneer een van hulle met 'n sterretjie begin: “* * */2 * 1” loop net op 'n onewe dag wat ook 'n Maandag is. Die handleiding het dit verkeerd.
- Laat die bediener, en cron saam daarmee, in UTC loop. 'n Skedule in 'n sone met somertyd slaan een keer per jaar 'n lopie oor en herhaal een met die volgende verandering.
- Standaard-cron het nie 'n veld vir sekondes of jare nie. As jy daardie presisie nodig het, is cron die verkeerde gereedskap.
- Vermy @reboot. Dit hang af van hoe die masjien herbegin is en watter dienste op daardie oomblik gereed was, wat dit moeilik maak om oor te dink.
- 'n Skedule wat nie in vyf velde pas nie, kan in twee inskrywings verdeel word. Om iets elke 90 minute te laat loop, skryf “0 */3 * * *” en “30 1/3 * * *” langs mekaar.
- Skryf die opdrag met absolute paaie. Cron loop met 'n baie kort PATH en byna geen van die omgewingsveranderlikes wat jou dop het nie.
Gereelde vrae oor cron-uitdrukkings
Wat beteken die vyf velde?
In hierdie volgorde: minuut, uur, dag van die maand, maand en dag van die week. 'n Veld met 'n sterretjie pas by enige waarde.
Is Sondag 0 of 7?
Albei. Die meeste implementerings aanvaar 0 en 7 vir Sondag, en ook die drieletternaam SUN tot SAT.
Hoekom het my taak nie geloop op die tyd wat ek verwag het nie?
Die gewone redes is 'n bediener in 'n ander tydsone, die reël hierbo oor dag van die maand en dag van die week, of 'n opdrag wat misluk omdat cron nie jou dopprofiel laai nie.
Stuur hierdie bladsy my uitdrukking êrens heen?
Nee. Die uitdrukking word gelees en die looptye word in jou blaaier bereken; niks word opgelaai nie.