Útmutató a Cron kifejezésekhez

1. Áttekintés

Egyszerűen fogalmazva, a cron egy alapvető segédprogram, amely Unix alapú rendszereken érhető el. Lehetővé teszi a felhasználók számára a feladatok ütemezésének ütemezését egy meghatározott dátumon / időpontban. És természetesen remek eszköz sok olyan folyamat futtatásához, amelyek egyébként emberi beavatkozást igényelnek.

A Cron démon folyamatként fut - ez azt jelenti, hogy csak egyszer kell elindítani, és továbbra is a háttérben fut. Ez a folyamat a crontab az ütemtervek bejegyzéseinek elolvasása és a feladatok elindítása.

Túlóra, a cron kifejezés formátuma széles körben elfogadottá vált és sok más program és könyvtár használja.

2. Munka Crontab

A cron Az ütemezés egy egyszerű szöveges fájl, amely a / var / spool / cron / crontabs Linux rendszereken. Nem szerkeszthetjük a crontab fájlokat közvetlenül; a. használatával kell elérnünk crontab parancs.

Például nyitni crontab fájlt, ki kell indítanunk ezt a parancsot:

crontab -e

Minden sor be crontab egy kifejezés és egy parancs futtatásához:

* * * * * /usr/local/ispconfig/server/server.sh

Ez a bejegyzés minden percben futtatja az említett szkriptet.

3. Cron kifejezés

Értsük meg a cron kifejezés; öt mezőből áll:

3.1. Akciós karakterek kifejezésben

  • * (minden) - meghatározza, hogy az eseménynek minden időegységre meg kell történnie. Például, “*” a <perc> mező - jelentése "minden percre"
  • ? (Bármi) - hasznosítják a <hónap napja> és <hét napja>mezők az önkényes érték jelölésére - a mező értékét hanyagolja el. Például, ha egy forgatókönyvet „minden hónap 5. napján” akarunk elindítani, függetlenül attól, hogy a hét napja melyik napra esik, akkor megad?”A <hét napja> terület
  • - (hatótávolság) - meghatározza az értéktartományt. Például, "10-11" ban ben a mező jelentése „10. és 11. óra”
  • , (értékek) - több értéket határoz meg. Például, "HÉT, SZÜN, FRI ” a <hét napja> a mező jelentése a „hétfő, szerda és péntek” napokon
  • / (növekményekkel) - meghatározza az inkrementális értékeket. Például a “5/15” a <perc>mező, jelentése: „5, 20, 35 és 50 perc óra”
  • L (utolsó) - különböző területeken használva különböző jelentése van. Például, ha a <hónap napja>mező, akkor ez a hónap utolsó napját jelenti, azaz „január 31.” és így tovább a naptári hónap szerint. Offszet értékkel használható, például:L-3“, Amely a„ naptári hónap harmadik – utolsó napja ”jelölést jelenti. A <hét napja>, meghatározza a „hét utolsó napját”. A <értékben egy másik értékkel is használhatóhét napja>, mint "6L„, Amely a„ múlt pénteket ”jelöli
  • W (hétköznap) - meghatározza a hónap adott napjához legközelebb eső hétfőt (hétfőtől péntekig). Például, ha megadjuk a10W”A <hónap napja>mező, akkor ez azt jelenti, hogy „az adott hónap 10. napjához közeli hétköznap”. Tehát, ha a „10.” szombat, akkor a feladat „9-én” indul, és ha a „10.” vasárnap, akkor a „11-én” vált ki. Ha megadjuk a1W”A <hónap napja> és ha az „1.” szombat, akkor a munka „3.-án”, azaz hétfőn indul, és nem ugrik vissza az előző hónapra
  • # - meghatározza aNa hónap egy hétköznapjának előfordulása, például a „hónap 3. péntekje” jelölhető „6#3

3.2. Cron kifejezési példák

Lássunk néhány példát cron kifejezés a mezők és a speciális karakterkombinációk használatával:

Minden nap 12: 00-kor (délben):

0 12 * * ?

5 percenként minden nap 13 órakor és 13:55 órakor, majd 18 órakor és 18:55 órakor kezdődik minden nap:

0/5 13,18 * * ?

Minden nap 13 órakor kezdődő és 13:05 órakor kezdődő naponta:

0-5 13 * * ?

Júniusban minden kedden 13:15 és 13:45 órakor:

15,45 13? 6 kedd

Minden hétfőn, kedden, szerdán, csütörtökön és pénteken 9: 30-kor:

30 9? * HÉT-FRI

Minden hónap 15. napján 9: 30-kor:

30 9 15 * ?

Minden hónap utolsó napján 18 órakor:

0 18 L *?

Minden hónap 3–3. Napján 18 órakor:

0 18 L-3 *?

Minden hónap utolsó csütörtökén 10: 30-kor:

30 10? * 5L

Minden hónap harmadik hétfőjén 10 órakor:

0 10 ? * 2#3

Minden nap 12 órakor, minden nap öt napig, a hónap 10. napjától kezdve:

0 0 10/5 * ?

4. Cron speciális húrok

A cron kifejezésben megadott mezők mellett támogat néhány speciális, előre definiált értéket is - amelyeket a mezők helyett használhatunk:

  • @reboot- futtassa egyszer az induláskor
  • @évi vagy @ évente - évente egyszer fut
  • @havi- fut havonta egyszer
  • @heti- futás hetente egyszer
  • @napivagy @éjfél- fuss naponta egyszer
  • @óránkénti- óránként futni

5. Következtetés

Ebben a gyors cikkben a cron munkahelyek és crontab.

Számos olyan kifejezési példát is láthattunk, amelyeket felhasználhatunk mindennapi munkánk során, vagy egyszerűen más kifejezésekre következtethetünk.