A Cron egy időalapú feladatütemező, amely lehetővé teszi a feladatok ütemezését és a parancsfájlok rendszeres futtatását egy meghatározott időpontban, dátumon vagy időközönként. Ezenkívül ezeket a feladatokat cron joboknak nevezik. A cron jobokkal hatékonyan hajthat végre ismétlődő feladatokat, mint például a gyorsítótár törlése, az adatok szinkronizálása, a rendszer biztonsági mentése és karbantartása stb.
Ezek a cron jobok más funkciókkal is rendelkeznek, mint például a parancsautomatizálás, ami jelentősen csökkentheti az emberi hibák esélyét. Sok Linux-felhasználó azonban számos problémával szembesül a cron-feladat beállítása során. Tehát ez a cikk példákat mutat be a cron feladat beállítására Linux alatt.
Hogyan állítsunk be egy Cron-munkát
Először is ismernie kell a crontab fájlt a cron feladat beállításához Linuxban. Hozzáférhet ehhez a fájlhoz, hogy megtekinthesse a meglévő cron-feladatokat, és szerkeszthesse újak bevezetéséhez. A crontab fájl közvetlen megnyitása előtt az alábbi paranccsal ellenőrizze, hogy a rendszer rendelkezik-e a cron segédprogrammal:
sudo apt lista cron
Ha nem ad ki az adott képen látható kimenetet, telepítse a cront a következővel:
sudo apt-get install cron -és
Most ellenőrizze, hogy a cron szolgáltatás aktív-e a következő paranccsal:
service cron állapota
Ha elkészült, szerkessze a crontab-ot egy új cron feladat elindításához:
crontab -Ez
A rendszer kérni fogja, hogy válasszon egy adott szövegszerkesztőt. Például a nano szerkesztőt úgy használjuk, hogy beírjuk az „1”-et. Azonban bármelyik szerkesztőt kiválaszthatja, mert a cron feladatot befolyásoló tényező a formátuma, amelyet a következő lépésekben ismertetünk.
A szerkesztő kiválasztása után a crontab fájl egy új ablakban nyílik meg, a tetején látható alapvető utasításokkal.
Végül fűzze hozzá a következő crontab kifejezést a fájlhoz:
* * * * * / pálya / forgatókönyv
Itt minden megfelelő csillag (*) perceket, órákat, napi, heti és havi adatokat jelöl. Ez meghatározza az idő minden aspektusát, hogy a cron feladat zökkenőmentesen futhasson az ütemezett időben. Ezenkívül cserélje ki a path és script kifejezéseket a célszkriptet és a szkript nevét tartalmazó elérési útra.
Időformátum a Cron-feladatok ütemezéséhez
Mivel a fenti parancsban tárgyalt időformátum zavaró lehet, beszéljük meg röviden a formátumát:
- Ban,-ben Percek mezőben 0-59 tartományban adhat meg értékeket, ahol a 0 és 59 az órán látható perceket jelenti. A 9-hez hasonló bemeneti szám esetén a feladat minden óra 9. percében fut le.
- Mert Órák , akkor 0 és 23 közötti értékeket adhat meg. Például a 2 PM értéke '14' lenne.
- A A hónap napja 1 és 31 között lehet, ahol az 1 és 31 ismét a hónap első és utolsó napját jelöli. A 17-es érték esetén a cron feladat minden hónap 17. napján fut le.
- Helyett Hónap , megadhatja az 1 és 12 közötti tartományt, ahol az 1 a januárt, a 12 pedig a decembert jelenti. A feladat csak az itt megadott hónapban kerül végrehajtásra.
Jegyzet: A „*” minden elfogadható értéket jelent. Ha például a „*” karaktert használja a perc mező helyett, a feladat a megadott óra minden percében lefut.
Például az alábbiakban látható egy cron feladat ütemezése minden kedden 9:30-ra:
30 9 * * 2 / pálya / forgatókönyv
Például egy cron feladat beállításához áprilisban hétvégéken délután 5 órakor:
0 17 * 4 0 , 6 - 7 / pálya / forgatókönyv
Ahogy a fenti parancs is mutatja, vesszővel és kötőjellel több értéket is megadhat egy mezőben. Tehát a következő rész elmagyarázza a különböző operátorok használatát egy crontab kifejezésben.
Aritmetikai operátorok Cron Jobs számára
A Linuxban szerzett tapasztalataitól függetlenül gyakran kell automatizálnia a feladatokat, hogy évente kétszer, havonta háromszor és így tovább. Ebben az esetben operátorokkal módosíthat egyetlen cron-feladatot, hogy különböző időpontokban fusson.
- Gondolatjel(-): Megadhat egy értéktartományt kötőjellel. Ha például egy cron feladatot szeretne beállítani 12:00 és 12:00 között, akkor írja be a * 0-12 * * * /path/script karakterláncot.
- Perjel(/): A perjel segít felosztani egy mező elfogadható értékeit több értékre. Ha például egy cron-feladatot negyedévente szeretné futtatni, akkor a * * * /3 * /path/script értéket kell megadnia.
- Vessző(,) : A vessző két különböző értéket választ el egyetlen beviteli mezőben. Például a hétfőn és szerdán végrehajtandó feladat cron kifejezése * * * * 1,3 /path/script.
- Csillag(*): Mint fentebb tárgyaltuk, a csillag az összes értéket jelöli, amelyet a beviteli mező elfogad. Ez azt jelenti, hogy a Hónap mező helyén lévő csillag minden hónapra ütemez egy cron feladatot.
Parancsok a Cron Job kezeléséhez
A cron jobok kezelése szintén lényeges szempont. Ezért itt van néhány parancs, amellyel listázhat, szerkeszthet és törölhet egy cron-feladatot:
- Az l opció a cron feladatok listájának megjelenítésére szolgál.
- Az r opció eltávolítja az összes cron feladatot.
- Az e opció szerkeszti a crontab fájlt.
A rendszer minden felhasználója megkapja a saját crontab fájlját. A fenti műveleteket azonban a fájljaikon is végrehajthatja, ha a parancsok közé hozzáadja a felhasználónevüket – crontab -u felhasználónév [opciók].
Gyors összefoglaló
Az ismétlődő feladatok végrehajtása időigényes folyamat, amely csökkenti a rendszergazda hatékonyságát. A Cron-feladatok lehetővé teszik olyan feladatok automatizálását, mint egy szkript vagy parancsok adott időpontban történő futtatása, csökkentve ezzel a redundáns munkaterhelést. Ezért ez a cikk átfogóan elmagyarázza, hogyan hozhat létre cron-feladatot Linuxban. Továbbá megfelelő példákon keresztül ismertettük az időformátum és az aritmetikai operátorok helyes használatát.