Tanuljon Linuxot

Hogyan hozhatunk létre Cron Jobs Linux-on

Hogyan hozhatunk létre Cron Jobs Linux-on

A Cron vagy Cron job egy időalapú ütemező, amely általános a Linux / Unix rendszerekben. Ütemezi a meghatározott felhasználói feladatokat, hogy periodikusan, meghatározott dátumban, időben vagy időközönként fussanak. Ezen feladatok többsége olyan parancsfájl, amely olyan funkciókat hajt végre, mint a biztonsági mentések és egyebek. Ezeknek a cron-feladatoknak a létrehozásához a crontab parancsokat használjuk. A crontab egy UNIX parancs / segédprogram, amelyet a cron-feladatok létrehozására és kezelésére használnak.

Amint alább láthatja, a cron-feladat létrehozása és szerkesztése meglehetősen egyszerű. A legcsodálatosabb az, hogy a cron-feladat létrehozása vagy szerkesztése után nem kell újraindítania a cront vagy akár a számítógépét. Csak mentse a fájlt, és máris mehet.

A Cron Jobs gyakori felhasználásai

A cron parancs alapvető részei

A crontab szokásos szintaxisa a következő:

a b c d e FELHASZNÁLÓNév / elérési út / a / parancsfájl kimenetre

1.Az időt és a dátumot, valamint a munka ismétlődésének mértékét az öt mező határozza meg:

Megjegyzés: A napok hétfővel kezdődnek. A 0 és 7 a vasárnapot jelenti

2. FELHASZNÁLÓNÉV: Ne felejtse el ezt kicserélni a felhasználónevével

3. A cron által végrehajtandó konkrét helyet és szkriptet a harmadik szegmens határozza meg:

/ path / to / script

4. Az utolsó szakasz a feladatok nyomon követésének módjaként határozza meg a felhasználónak a munka befejezésekor történő értesítését:

Kimenet

A beérkező levelek azonban tele lehetnek kisebb feladatokkal, amelyeket gyakran irányítanak. Ennek elkerülése érdekében letilthatja az automatikus e-mail kimenetet, ha hozzáadja az alábbi karakterláncot a cron parancshoz:

> / dev / null 2> & 1 e.g a b c d e FELHASZNÁLÓNév / elérési út / ide / szkript> / dev / null 2> & 1

Ezenkívül a cron további négy értéket használ egy mező több értékének megadásához. Ők:

A cron feladatok beállítása

A crontab parancsok felelősek a cron-feladatok létrehozásáért és szerkesztéséért, mert a cron-fájlokat nem szabad közvetlenül szerkeszteni. A crontab meghatározza, hogyan lehet létrehozni, szerkeszteni, felsorolni, hibakeresni, telepíteni és eltávolítani a cron feladatokat.

Mielőtt elkezdené a cron-feladatokat, elengedhetetlen, hogy az alábbi parancsok végrehajtásával gondoskodjon a Linux asztal vagy szerver naprakészségéről:

sudo apt frissítés sudo apt frissítés

Ha nincs telepítve a rendszerre a cron csomag, telepítse az alábbi paranccsal:

sudo apt-get install cron

Telepítse a cront

A crontab fájl szerkesztése?

A folyamat befejezéséhez konfigurálnia kell a cron feladatot. A cron job létrehozásakor bejelentkezett felhasználó automatikusan a tulajdonos lesz. Ez megváltoztatható egy olyan tulajdonos létrehozásával, aki felelős lesz a cron munka kezeléséért, amint ezt a bejegyzésben láthatjuk.

A crontab konfigurációs fájl megnyitásához az éppen bejelentkezett felhasználó számára hajtsa végre az alábbi parancsot:

crontab -e

A rendszer felszólítja a megfelelő szerkesztő kiválasztására. Esetünkben az első lehetőséget választjuk (nano szerkesztő).

crontab -e

Soránként egy ütemezett feladatot adhat hozzá az Ön igényei szerint.

crontab fájl

A feladatok hozzáadása után fejezze be a fájl mentésével és lépjen ki. Az összes megadott utasítást a cron démon elolvassa és végrehajtja. A változtatások a rendszer újraindítása nélkül is érvénybe lépnek, mivel a lerakat automatikusan frissül.

A crontab szerkesztése egy másik felhasználó számára

A Crontab különböző felhasználók számára szerkeszthető az alábbi szintaxisban található paranccsal:

crontab -u egyéb_felhasználónév -e

A speciális karakterek használata a crontab parancsokban

A karakterek és az operátorok a rendszer további testreszabását diktálják, mivel kibővítik a cron feladat képességeit.

0 6 * * 1-5 / root / backup.SH

Itt a 06 jelentése 6 óra. 1-5 a napok számát jelenti (hétfőtől péntekig).

35 1-23 / 2 * * * / path / to / script / script.SH

1-23 meghatározza az órák tartományát, / 2 minden második órára beállítja az intervallumot.

Cron Options

Érdemes felsorolni a rendszer cron-feladatait a crontab konfigurációs fájl feloldása nélkül. Ezt úgy teheti meg, hogy elindítja a terminált, és beírja az alábbi parancsot:

crontab -l

sorolja fel a cron munkákat

Ez a parancs felsorolja a rendszerben található összes cron feladatot.

Az összes crontab parancs törléséhez használhatja az alábbi parancsot:

crontab -r
crontab -r -u más felhasználónév

Használja a Strings alkalmazást a Crontab-ban

A karakterláncok rendkívül hasznos eszközök a fejlesztők számára, mivel elkerülik a kódszegmensek ismétlődő írását. Szerencsére a crontabs támogatja a különféle húrértékeket. Tartalmazzák:

@óránkénti: -ugyanaz, mint - „0 * * * *“ (Minden alkalommal végrehajt óra)
@éjfél:  -ugyanaz, mint - „0 0 * * *“ (Minden alkalommal végrehajt nap)
@napi: ugyanaz, mint éjfél
@heti:  -ugyanaz, mint - „0 0 * * 0“ (Minden alkalommal végrehajt hét)
@havi: -ugyanaz, mint - „0 0 1 * *“ (Minden alkalommal végrehajt hónap)
@évente: -ugyanaz, mint - „0 0 1 1 *“ (Minden alkalommal végrehajt év)
@évi: hasonló @ évente
@reboot: Minden újraindítás / újraindítás / indítás után egyszer végrehajtva.

Jó példa; ha van egy biztonsági mentési szkriptje, amelyet minden nap futtatni szeretne, használja az alábbi parancsot:

@daily / path / to / backup_script.SH

Példák cron munkákra

Az alábbiakban felsoroljuk azokat az alapvető cron-feladatokat, amelyek az induláskor használhatók:

    1. Szkript futtatása percenként:
      * * * * * / a / script / path.SH
    2. Szkript futtatása 40 percenként:
      40 * * * * / a / script / elérési út.SH
    3. Szkript futtatása óránként:
      0 * * * * / a / script / path.SH
    4. Szkript futtatásához minden éjfélkor:
      0 0 * * * / a / script / path.SH
    5. A szkript futtatása éjfél után 23 percenként, minden nap hajnali 2 és 4 óra után:
      23 0-23 / 2 * * * / a / script / path.SH
    6. Szkript futtatása 4-kor.05 minden vasárnap.
      5 4 * * sun / a / script / path.SH
    7. A héten 22 órakor forgatókönyvet futtatni.
      0 22 * ​​* 1-5 / a / script / elérési út.SH
    8. Forgatókönyv futtatásához december 1-jén éjfélig.
      0 0 0 12 * / a / script / elérési út.SH
    9. Szkript futtatására szombaton éjfélkor.
      0 0 * * 6 / a / script / elérési út.SH
    10. Minden órában futtatni egy szkriptet.
      0 * * * * / a / script / path.SH

Ezekkel az alapvető példákkal mélyebben megismerheti a sorrendet és annak módosítását.

A Cron hozzáférés korlátozása

Úgy látjuk, hogy a cron-feladatok nagyon hasznosak lehetnek, különösen akkor, ha automatizálni szeretné a feladatait. Kockázatos lehet azonban az is, ha a rendszer bármely felhasználó számára lehetővé teszi a cron-feladat létrehozását. Még ha nem is érinti a személyes adatokat, néhány cron-feladat meglehetősen sok rendszererőforrást igényelhet, így elmarad a PC-től. Az ilyen esetek elkerülése érdekében a rendszergazda (root felhasználó) létrehozhat egy / etc / cron.lehetővé teszi  vagy / etc / cron.tagadni a fájl, amely csak felhasználókat tartalmaz, akik tudnak 'teremt / nem hoz létre' egy cron munka.

A / etc / cron.lehetővé teszi a fájl olyan felhasználókat tartalmaz, akik létrehozhatnak, szerkeszthetnek, megjeleníthetnek vagy eltávolíthatnak crontab fájlokat. Ha ez a fájl nem létezik, akkor minden felhasználó létrehozhat és kezelhet Cron-feladatokat, amelyek nem a / etc / cron.tagadni fájl. Ha ezen fájlok egyike sem található, akkor a crontab parancs futtatásához superuser jogosultságokra van szükség.

cron fájl engedélyezése

Most, hogy megakadályozta a nem root felhasználókat abban, hogy Cron-feladatokat hozzanak létre, ha már rendelkeztek ilyenekkel, fontolóra veheti a cron-feladataik hozzáadását a root crontab fájlba. De itt van egy rejtvény - Ha a cron-feladataikat hozzáadjuk a root crontab-hoz, akkor ez nem futtatja a cron-feladataikat root-ként? Nos, itt jön a USERNAME mező fontossága, amelyet fentebb a cron parancs szintaxisában tárgyaltunk. Például az alábbi parancs:

0 * * * * fosslinux / path / to / script.SH

Futtatásként „fosslinux” cron felhasználói feladatként fog futni, nem pedig root felhasználóként.

Következtetés

Most már világos útmutatója van a Cron-feladatok használatáról a rendszer különböző feladatai automatizálására. Ez nem tévesztheti össze a Startup alkalmazásokkal. Használja a fenti példákat az egyszerű szkriptek kipróbálására és automatizálására. Idővel kombinálhatja a speciális karaktereket és a vadkártyákat, hogy sokkal hétköznapibb feladatokat hajtson végre. Ha még csak most kezded, nagyon jó lenne elolvasni a bash szkript oktatóanyagról szóló bejegyzésünket példákkal, amelyek segítenek az első szkript létrehozásában.

Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...