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]
- 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.