Crontab Linux alatt: Munkaütemezési PÉLDÁK

Mi az a crontab?

A Cron a görög „Chronos” szóról kapta a nevét, amelyet az időre használnak. Ez egy rendszerfolyamat, amely automatikusan végrehajtja a feladatokat az adott ütemezés szerint. Ez egy parancskészlet, amelyet a szokásos ütemezési feladatok futtatására használnak. A Crontab a „cron table” rövidítése. Lehetővé teszi a cron néven ismert feladatütemező használatát a feladatok végrehajtásához.

A Crontab a program neve is, amely az ütemezés szerkesztésére szolgál. Egy crontab fájl vezérli, egy konfigurációs fájl, amely jelzi, hogy a shell parancsok rendszeresen futnak az adott ütemezéshez.

Miért használja a Cronjobst?

Íme a Cronjobs Linux alatti használatának okai:

  • Segíti az operációs rendszert a naplófájlok vagy adatbázisok ütemezett biztonsági másolatának elkészítésében.
  • Törölje a régi naplófájlokat
  • Archive és törölje az adatbázistáblákat
  • Küldjön el minden értesítő e-mailt, például hírleveleket, jelszó lejárati e-mailt
  • A gyorsítótárazott adatok rendszeres tisztítása
  • A Crontab ideális lehetőség a Unix-feladatok automatizálására.
  • A rendszer karbantartásának automatizálására szolgál

Hogyan kell használni a cront Linuxon?

Linux rendszer csomagnak van egy crontab nevű hasznos feladatütemezője. A Crontab azért népszerű, mert ütemezhető, hogy rootként futtasson egy automatizált folyamatot. Ezért ha egy automatizált folyamat rootként fut, az megkönnyíti a rendszermódosításokat. Csak módosítania kell a feladatot, majd meg kell várnia, amíg a feladat újraindul.

Linux Crontab formátum

A Linux Crontab hat mezővel rendelkezik. Az első öt mező határozza meg a végrehajtás idejét és dátumát, a 6. mező pedig a parancs végrehajtására szolgál.

Crontab szintaxis:

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Linux Crontab formátum

  • Asztrics (*): Használja a párosításhoz
  • Tartomány meghatározása: Lehetővé teszi egy tartomány meghatározását kötőjel segítségével, például 1-10 vagy 30-40 vagy jan-mar, H-W.
  • Több tartomány meghatározása: Lehetővé teszi különböző tartományok meghatározását a paranccsal elválasztva, például apr-jun, oct-dec.

A Crontab hozzáadása/módosítása

A felhasználó szerkesztheti crontab munkáit a következő crontab parancs segítségével:

$ crontab -u -e 

A fenti parancs megnyitja a számítógépes rendszer személyes crontab konfigurációját, amely az alapértelmezett szövegszerkesztővel szerkeszthető.

Nincs szükség a crontab újraindítására, mivel a következő parancs használatakor automatikusan felveszi a módosításokat.

$ crontab -l

A crontab feladatok eltávolításához használja a következő parancsot.

$ crontab -r

Feladat hozzáadásához vagy frissítéséhez a crontabban használja az alábbi parancsot.

crontab -e

Parancs a másik felhasználó crontabjának szerkesztéséhez

crontab -u username -e

Hogyan listázzuk ki a Crontabot

Parancs az aktuális felhasználó crontab bejegyzéseinek megtekintéséhez

crontab -l

Parancs egy adott felhasználó crontab bejegyzéseinek megtekintéséhez:

crontab -u username -l

Fontos Crontab példák

Íme néhány fontos példa a Crontabra

Leírás parancs
Cron parancs a különböző ütemezési feladatok elvégzéséhez.
Az alábbi parancs végrehajtása naponta reggel 7 órakor és délután 5 órakor.
0 7,17 * * * /scripts/script.sh
Parancs a cron végrehajtására 5 percenként.
*/5* * * * *  /scripts/script.sh
A Cron ütemező parancs segít a feladat végrehajtásában minden Monday reggel 5 órakor. Ez a parancs hasznos a heti feladatok elvégzéséhez, például a rendszertisztításhoz.
0 5 * * mon  /scripts/script.sh
Parancs futtassa a szkriptet 3 perces időközönként.
*/3 * * * * /scripts/monitor.sh
Parancs egy cron ütemezéséhez, amely egy adott hónapra fut le.
Ez a parancs a februári, júniusi és szeptemberi feladatok futtatására szolgál. Néha be kell ütemeznünk egy feladatot egy kiválasztott havi feladat végrehajtásához.
* * * feb,jun,sep *  /script/script.sh
A parancs a kiválasztott napokon végrehajtandó. Ez a példa mindegyiket futtatni fogja Monday és szerdán 5 órakor.
0 17 * * mon,wed  /script/script.sh
Ez a parancs lehetővé teszi a cron végrehajtását minden hónap első szombatján.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Parancs a szkript futtatására 6 órás időközönként, így az alábbiak szerint konfigurálható.
0 */6 * * * /scripts/script.sh
Ez a parancs ütemez egy feladatot a kétszeri végrehajtásra Monday és kedden. Ehhez használja a következő beállításokat.
0 4,17 * * mon,tue /scripts/script.sh
Parancs ütemezheti a cron végrehajtását 15 másodpercenként.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Parancs a feladatok éves ütemezésére.
@yearly timestamp = "0 0 5 1 *". Ez minden év ötödik percében végrehajtja a feladatot. Használhatja újévi üdvözlet küldésére.
@yearly /scripts/script.sh 
A feladatokat havonta kell végrehajtani.
A @havi időbélyeg hasonló ehhez: „0 0 1 * *”. Ez a parancskifejezés lehetővé teszi egy feladat végrehajtását a hónap első percében.
@monthly /scripts/script.sh
Parancs több feladat végrehajtásához egyetlen cron használatával.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Parancs a feladatok heti rendszerességgel történő végrehajtására.
@weekly timestamp hasonló a „0 0 4 * nap” kifejezéshez. Ez a heti feladatok elvégzésére szolgál, mint például a rendszertisztítás stb.
@weekly /bin/script.sh
A feladat napi rendszerességgel kerül végrehajtásra.
A @daily timestamp hasonló ehhez: „0 2 * * *”. A feladatot minden nap második percében hajtja végre.
@daily /scripts/script.sh
Lehetővé teszi a feladatok óránkénti végrehajtását.
Az @órás időbélyeg hasonló ehhez: „0 * * * *”. Ez a parancs minden óra első percében végrehajt egy feladatot.
@hourly /scripts/script.sh
Lehetővé teszi a feladatok végrehajtását a rendszer újraindításakor.
Az @reboot kifejezés hasznos azoknál a feladatoknál, amelyeket a rendszer a rendszerindításkor futtatni szeretne. Ez hasznos a feladatok háttérben történő automatikus elindításához.
@reboot /scripts/script.sh

Összefoglaló:

  • A Cron a görög „Chronos” szóról kapta a nevét, amelyet az időre használnak.
  • A Cronjobs segít az operációs rendszernek ütemezett biztonsági másolat készítésében a naplófájlokról vagy adatbázisokról.
  • A Linux rendszercsomagnak van egy hasznos feladatütemezője, a crontab, amely ütemezhető egy automatizált folyamat rootként való futtatására.
  • A Linux Crontab hat mezővel rendelkezik. Az első öt mező határozza meg a végrehajtás idejét és dátumát, a 6. mező pedig a parancs végrehajtására szolgál.