crontab

Crontab Linux alatt

Crontab Linux alatt
Az új technológiák megjelenésével mindent automatizálni szeretnénk, beleértve a számítógépes rendszereinket is. Például, rendszergazdaként azt kérhetjük, hogy a biztonsági mentésünket minden este 2:00 órakor futtassuk. Akkor mi a célja a számítógépeknek, ha naponta hajnali 2: 00-kor kell felébrednünk, és kézzel kell futtatnunk a parancsokat a biztonsági mentés elindításához. Legyen olyan mód, amely megmondja a rendszernek, hogy automatikusan futtasson biztonsági másolatot egy adott időpontban. Szerencsére a Linux OS kínál egy cron segédprogramot, amely lehetővé teszi a feladatok automatizálását egy adott időszakban.

A Cron egy hatékony és népszerű parancssori segédprogram, amelyet a feladatok széles skálájának ütemezésére használnak egy meghatározott időpontban, felhasználói interakció nélkül. Az ütemezett feladatokat cron-munkáknak nevezik, míg a crontab a cron-feladatokat tartalmazó fájl listája.

Ebben a cikkben különféle példákkal elmagyarázzuk, hogyan szerkesztheti és használhatja a crontab fájlt a feladatok ütemezéséhez a Debian 10 rendszerben.

A Cron a feladatok automatizálására használható a következő esetekben:

Szintaxis

Könnyebb a cronnal dolgozni, ha már megérti a szintaxisát. A cron használatának általános szintaxisa:

* * * * / path / to / script.SH

Mindegyik mező megfelel a következőknek:

Perc (0-59) Óra (0-24) Hónap_nap (1-7) Év_hónap (1-12)
Day_of_the_Week (0-6) parancs

A Cron telepítése

A Cron előre telepítve van a Debian 10-be. Ha azonban hiányzik a rendszerből, futtassa a következő parancsot a telepítéshez:

$ sudo apt install cron

Nézd meg a crontab-ot

A crontab fájl megtekintéséhez használja a következő parancsot:

$ crontab -l

Egy adott felhasználó crontab fájljának megtekintéséhez használja a következő parancsot:

$ sudo crontab -u felhasználó -l

Szerkesztés crontab

Az aktuális felhasználó crontab fájljának szerkesztése:

$ crontab -e

Egy adott felhasználó crontab fájljának szerkesztése:

$ sudo crontab -u felhasználó

Ha először szerkeszti a crontab fájlt, akkor felkérést kap egy szerkesztő kiválasztására:

A szerkesztő kiválasztása után a következő ablak jelenik meg.

Például egy „backup” nevű biztonsági mentési parancsfájlt akar futtatni.sh ”naponta 2:00 órakor található a dokumentumjegyzékben. Ehhez hozzá kell adnia a következő sort a crontab fájlba:

0 2 * * * / Dokumentumok / biztonsági mentés.SH

A fenti ablakban egyesével hozzáadhatja cron-feladatait. Ha elkészült, mentse és lépjen ki a fájlból, majd az összes cron-feladat automatikusan lefut a megadott időközönként.

Távolítsa el a crontabot

A crontab fájl eltávolításához írja be a következő parancsot a terminálba:

$ crontab -r

Most áttekinthetünk egy példát a cron feladatokról egy linuxos gépen.

1. Futtasson minden percben egy cron munkát

A cron-feladat percenként történő végrehajtásához adja hozzá a következő sort a crontab-fájljához:

* * * * * / path / to / script.SH

2. Futtasson cron munkát 10 percenként

A cron-feladatok 10 percenként történő végrehajtásának ütemezéséhez adja hozzá a következő sort a crontab fájljához.

* / 10 * * * * / path / to / script.SH

3. Futtasson cron munkát meghatározott hónapokban

A cron-feladat ütemezésének végrehajtása meghatározott hónapokra e.g. Március, augusztus, december a következő módon adja hozzá a cron feladatot a crontab fájljához:

* * * jan, május, aug * / path / to / script.SH

4. Futtasson cron munkát a kiválasztott napokon

Ha azt szeretné, hogy a cron munkáját meghatározott napokon hajtsa végre, tegyük fel, hogy vasárnap és pénteken 17 órakor, annak a következőképpen kell kinéznie:.

0 17 * * sun, fri / path / to / script.SH

5. Futtasson naponta egy cron munkát egy adott időpontban

A cron-feladat ütemezésének napi végrehajtását egy adott időpontban, mondjuk hajnali 3-kor, vegye fel ezt a sort a crontab fájlba.

0 3 * * * / path / to / script.SH

6. Futtasson cron munkát egy adott napon

Ha azt szeretné, hogy egy cron feladatot egy adott napon végezzen el, mondjuk minden vasárnap, adja hozzá ezt a sort a crontab fájlba.

0 0 * * SUN / path / to / script.SH

A munka minden vasárnap 00:00 órakor lesz.

7. Futtasson több feladatot egyetlen cron jobban

Több feladat ütemezéséhez egyetlen cron jobban adja hozzá az összes szkriptet a crontab fájlhoz pontosvesszővel elválasztva.

* * * * * / path / to / script1.SH; / path / to / script2.SH

8. Futtasson egy cron munkát minden hétköznap

Ahhoz, hogy egy cron feladatot a hét minden napján, hétfőtől péntekig kell végrehajtani, hozzá kell adnia ezt a sort a crontab fájlba.

0 0 * * 1-5 / path / to / script.SH

A munka minden hétköznap 00:00 órakor lesz.

9. Futtasson cron munkát naponta kétszer

Egy munka ütemezésének napi kétszeri futtatására e.g. 6 és 15 órakor ezt a sort kell hozzáadnia a crontab fájlba:

0 6,15 * * * / path / to / script.SH

10. Óránként futtasson cron munkát

A cron-feladat ütemezésének óránkénti végrehajtására a 0. percben azt a sort kell hozzáadnia a crontab fájlban:

0 * * * * / path / to / script.SH

Például, ha a jelenlegi idő 14 óra, akkor a munka 15: 00-kor, 16: 00-kor és így tovább fog futni.

11. Futtasson cron munkát 3 óránként

A cron-feladat ütemezésének 3 óránként történő ütemezéséhez a 0. percben meg kell adnia ezt a sort a crontab fájlban:

0 * / 3 * * * / path / to / script.SH

Például, ha a jelenlegi idő 14 óra, akkor a munka 17: 00-kor, 20: 00-kor és így tovább fog futni.

12. Futtassa a cron munkát minden hónap első napján 16:00 órakor

A munka ütemezéséhez úgy kell ütemezni, hogy minden hónap első nap 16: 00-kor fusson, ezt a sort kell hozzáadnia a crontab fájlba:

0 16 1 * * / path / to / script.SH

Vonósok a Crontab-ban

A hosszú, ismétlődő parancsok helyett a következő karakterláncokat is használhatja.

@ óránkénti - Futtasson cron munkát óránként i.e. „0 * * * *“
@ éjfél- Futtasson cron munkát minden nap i.e. „0 0 * * *“
@ naponta - ugyanaz, mint éjfél
@ heti - futtasson cron munkát minden héten, i.e. „0 0 * * 0“
@ havonta - futtasson havonta cron munkát, i.e. „0 0 1 * *“
@ évente- futtasson cron munkát minden évben i.e. „0 0 1 1 *”
@ évente - ugyanaz, mint @ évente
@ reboot- Futtasson cron munkát minden indításkor

Például a cron-feladat futtatásához minden nap az első percben és az első órában adja hozzá a következő sort:

@daily / path / to / script.SH

Például a szerver újraindításakor a cron job futtatásához:

@reboot / path / to / script.SH

Ennyi van benne! Ebben a cikkben megtanultuk, hogyan lehet különféle feladatokat automatizálni a crontab segítségével a Debian rendszerben. A fenti példák felhasználásával bármilyen munkát ütemezhet úgy, hogy a felhasználó beavatkozása nélkül elindítsa.

Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...
OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...