Weboldal keresés

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.