11 Cron ütemezési feladat példák Linuxban
Ebben a cikkben áttekintjük és megnézzük, hogyan ütemezhetünk és futtathatunk Linux-feladatokat a háttérben, rendszeres időközönként a Crontab paranccsal.
A gyakori munkák kézi kezelése ijesztő feladat a rendszergazdák számára, és az ilyen feladatok a háttérben emberi beavatkozás nélkül ütemezhetők és futtathatók a cron démon segítségével Linux vagy Unix-szerű operációs rendszerben.
Például automatizálhatja a Linux rendszer biztonsági mentését, a frissítések ütemezését és a fájlok szinkronizálását, és még sok mást a Cron démon segítségével, amely az ütemezett feladatok parancssorból történő futtatására szolgál. vagy használjon online eszközöket cron jobok létrehozásához.
A Cron percenként felébred és megszámlálhatóan ellenőrzi az ütemezett feladatokat – a Crontab (CRON TABle) egy olyan táblázat, ahol ütemezhetjük az ilyen típusú ismétlődő feladatokat. .
Tippek: Minden felhasználónak saját crontabja lehet a feladatok létrehozásához, módosításához és törléséhez. Alapértelmezés szerint a cron engedélyezve van a felhasználók számára, azonban korlátozhatjuk a felhasználókat egy bejegyzés hozzáadásával az /etc/cron.deny fájlban.
Crontab Linux alatt
A Crontab fájl soronként parancsokból áll, és ténylegesen hat mezőt tartalmaz szóközzel vagy tabulátorral elválasztva. Az első öt mező a feladatok futtatásának idejét jelenti, az utolsó mező pedig a parancsot.
- Perc (0-59 közötti tartási értékek)
- Óra (az értékek tartása 0-23 között)
- A hónap napja (az értékek tartása 1-31 között)
- Az év hónapja (tartsa az értékeket 1-12 vagy január-december között, használhatja minden hónap nevének első három betűjét, pl. január vagy jún..)
- A hét napja (tartsa az értékeket 0-6 vagy V-Szo között, itt is használhatja minden nap nevének első három betűjét, pl. V vagy Sze<.)
- Parancs – Az ütemezni kívánt /path/to/parancs vagy szkript.
1. Sorolja fel a Crontab bejegyzéseket
Listázza vagy kezelje a feladatot a crontab paranccsal a -l
opcióval az aktuális felhasználóhoz.
crontab -l
00 10 * * * /bin/ls >/ls.txt
2. Szerkessze a Crontab bejegyzéseket
A crontab bejegyzés szerkesztéséhez használja a -e
parancsot az alább látható opcióval. Az alábbi példa ütemezett munkákat nyit meg a VI szerkesztőben. Végezze el a szükséges módosításokat, és lépjen ki a :wq
billentyűk lenyomásával, amelyek automatikusan mentik a beállítást.
crontab -e
3. Sorolja fel a felhasználó ütemezett Cron-feladatait
Egy adott tecmint nevű felhasználó ütemezett munkáinak listázása a -u
(Felhasználó) és a -l
opciók használatával (Lista).
crontab -u tecmint -l
no crontab for tecmint
Megjegyzés: Csak root felhasználó rendelkezik teljes jogosultsággal a többi felhasználó crontab bejegyzéseinek megtekintéséhez. A normál felhasználók nem láthatnak másokat.
4. Távolítsa el a Crontab bejegyzést
Vigyázat: A Crontab a -r
paraméterrel eltávolítja a teljes ütemezett feladatokat a Crontab megerősítése nélkül. A felhasználó crontabjának törlése előtt használja a -i
opciót.
crontab -r
5. Kérdezzen a Crontab törlése előtt
crontab a -i
-val az opció megerősítést kér a felhasználótól, mielőtt törli a felhasználó crontabját.
crontab -i -r
crontab: really delete root's crontab?
6. Engedélyezett speciális karakterek (*, -, /, ?, #)
- Csillag(*) – Egyezzen a mező összes értékével vagy bármely lehetséges értékkel.
- Kötőjel(-) – Tartomány meghatározása.
- Perjel (/) – 1. mező /10, ami tízpercenként vagy a tartomány növelését jelenti.
- A Vessző (,) – Az elemek elválasztása.
7. Rendszerszintű Cron ütemezés
A rendszergazda használhatja az előre meghatározott cron könyvtárat az alábbiak szerint.
- /etc/cron.d
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
8. Ütemezzen munkát egy adott időpontra
Az alábbi feladatok naponta 12:30kor törlik az üres fájlokat és könyvtárakat a /tmp mappából. A crontab parancs végrehajtásához meg kell említenie a felhasználónevet. Az alábbi példában a root felhasználó cron feladatot hajt végre.
crontab -e
30 0 * * * root find /tmp -type f -empty -delete
9. Különleges karakterláncok a közös ütemezéshez
- @reboot
A parancs akkor fut le, amikor a rendszer újraindul.
- @daily
-
Naponta egyszer, vagy használhatja @midnight.
- @weekly
Heti egyszer.
- @yearly
Évente egyszer. használhatjuk az @annally kulcsszót is.
A cron parancs öt mezőjét ki kell cserélni kulcsszavakra, ha ugyanazt szeretné használni.
10. Több parancs kettős „és” jellel (&&)
Az alábbi példában a parancs1 és a parancs2 naponta fut.
crontab -e
@daily <command1> && <command2>
11. Tiltsa le az e-mail értesítéseket.
Alapértelmezés szerint a cron a cronjob-ot végrehajtó felhasználói fiókba küldi a leveleket. Ha le szeretné tiltani, adja hozzá a cron feladatot az alábbi példához hasonlóan. A fájl végén található >/dev/null 2>&1 opció használatával átirányítja a cron eredményének összes kimenetét a /dev/null alá.
[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1
Következtetés: A feladatok automatizálása segíthet abban, hogy feladatainkat jobb módon, hibamentesen és hatékonyan végezzük. További információkért tekintse meg a crontab kézikönyvét, ha beírja a „man crontab” parancsot a termináljába.