crontab

Egy feladat ütemezése Linux alatt?

Egy feladat ütemezése Linux alatt?
Amikor UNIX alapú operációs rendszert használ, bizonyos feladatokat ismételten el kell végezni. Minden egyes kézi futtatás időigényes és összességében nem hatékony. A probléma megoldásához a UNIX beépített feladatütemezőivel érkezik. Ezek a feladatütemezők intelligens ébresztőóraként működnek. Amikor a riasztás megszólal, az operációs rendszer lefuttatja az előre meghatározott feladatot.

A Linux esetében két alapvető, de hatékony eszközzel érkezik: Cron démon (alapértelmezett feladatütemező) és az (jobban használható egyszeri feladatütemezéshez).

Ebben az útmutatóban nézze meg, hogyan kell ütemezni egy feladatot Linux rendszeren.

Ütemezze a feladatokat Linux alatt

Cron
A cron démon felelős azért, hogy sok munkát végezzen meghatározott időpontokban. Ezeket a feladatokat általában a háttérben futtatják ütemezett időpontokban. Nagy rugalmasságot kínál a feladattól függetlenül, az időintervallumtól (óra, hét, hónap, év vagy bármi más).

A Cron nyomon követi a műveleteit a crontab fájl segítségével. A crontab fájl egy parancsfájl, amely minden szükséges információt tartalmaz az összes cron-feladat futtatásához.

Vessünk egy gyors pillantást a cron néhány alapvető használatára. A következő parancsok bármelyike ​​esetén a root felhasználó számára konfigurálják, ha sudo privilégiummal fut. A bemutatóhoz innen fogtam egy minta crontab fájlt.

Az aktuális felhasználó összes ütemezett cron-feladatának felsorolásához futtassa a következő parancsot. Kinyomtatja a crontab fájl összes tartalmát.

$ crontab -l


Szeretne egy másik felhasználó számára a cron munkalista? Futtassa inkább ezt a parancsot.

$ sudo crontab -u -l


A crontab parancsfájl szerkesztéséhez futtassa a parancsot. A crontab fájl root szerkesztéséhez futtassa a következő parancsot sudo privilégiummal.

$ crontab -e


A crontab szkript minden sora meghatároz egy feladatot. Itt található a crontab bejegyzések gyors bontása.

$

Az alábbiakban felsoroljuk a mezők összes lehetséges értékét. Ha numerikus érték helyett csillagot (*) használ, akkor a mező minden lehetséges értékét felhasználja.

  • perc: 0 és 59 között
  • óra: 0 és 23 között
  • a hónap napja: 1-től 31-ig
  • hónap: 1-től 12-ig
  • a hét napja: 0 (vasárnap) - 6 (szombat)

Ha részletes útmutatást szeretne kapni arról, hogyan használhatja a crontab-ot a feladatok automatizálásához, nézze meg, hogyan kell beállítani a cron-feladatokat Linux alatt. Itt van egy újabb gyors példa a percenként futó cron munkára.

nál nél
Míg a cron a feladatütemezés elsődleges módja, a parancs / szkript futtatásának lehetősége egy adott időpontban vagy rögzített időközönként, vegye figyelembe, hogy az at a célmunkát egyszer futtatja, míg a cron a feladatot ismételten futtatja. Az at eszköz kevésbé népszerű a cronhoz képest, de viszonylag könnyebben használható. Használhat bizonyos kulcsszavakat, például éjfél vagy teázás (4 P.M.).

Ez az eszköz nincs előre telepítve a legtöbb Linux disztribúcióban. A telepítéshez futtassa a disztribúciójának megfelelő parancsot.

Debian / Ubuntu és származékai számára.

$ Sudo apt install -y itt


CentOS / RHEL és származékai esetében.

$ yum telepíteni itt:

Arch Linux és származékai számára.

$ sudo Pacman -S at

Fedora és származékai esetében.

$ sudo dnf install

A telepítés befejezése után engedélyezze az at démont.

$ sudo systemctl enable - most atd.szolgáltatás


A munka módja kissé más. Amikor felhívja, meg kell határoznia a kívánt feladat futtatásának intervallumát. Például egy bizonyos parancs egy óra elteltével történő futtatásához használja a következő parancsot.

$ jelenleg + 1 óra


A kívánt feladat futtatása 6 P-on.M., hat nap múlva futtassa helyette a következő parancsot.

$ 6 + 6 nap


Amikor futtatja a parancsot, az at a parancs futtatását kéri. A parancssorból való kilépéshez nyomja meg a „Ctrl + d.”Jelenleg összefoglalja az ütemezett feladatokat és azok végrehajtásának idejét.

Ez csak alapvető használat. Az at használatának következetesebb módja lehet egy bash parancsfájl végrehajtása, amely tartalmazza az összes elvégzendő feladatot. Szeretne többet megtudni a bash szkriptekről? Jelölje be

$ 18:00 + 6 nap -ff