Fizetési módok Abuse

Cron Linuxban: mi az?

26.02.2023, 13:13

A Cron egy segédprogram a Linux operációs rendszerben a feladatok ütemezésére. Lehetővé teszi szkriptek vagy parancsok automatikus futtatását bizonyos időpontokban, időközönként vagy események alkalmával.

Hogyan kell használni?

A Cron használatához létre kell hoznia egy crontab fájlt, amely tartalmazza a feladatok listáját és az időintervallumokat, amikor azokat végre kell hajtani. A crontab minden egyes feladata egy karakterlánc, amely öt, szóközökkel elválasztott mezőből áll:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

A * tetszőleges értéket jelöl, például ha a minutes mezőben egy * szerepel, akkor a feladat percenként fog lefutni. Ha egy mezőhöz konkrét értéket akarunk beállítani, például minden nap hajnali 3-kor, akkor azt kell írni, hogy 0 3 * * * * * *.

A crontab fájl létrehozásához vagy módosításához használja a crontab -e parancsot. Minden felhasználónak lehet saját crontab fájlja, valamint a /etc/crontab rendszerfájl, amely a root felhasználóként futó feladatokat tartalmazza.

Létezik egy cronjob parancs, amely lehetővé teszi a Docker konténereken belüli feladatok futtatását. Hasonlóan működik, mint a crontab, de a feladatokat nem a gazdarendszeren, hanem a konténeren belül lehet futtatni.

A Cron használata: egy lépésről lépésre haladó algoritmus

A Cron használatának megkezdéséhez Linuxban kövesse az alábbi lépéseket:

1. Nyisson meg egy terminált, és írja be a crontab -e parancsot. Ez megnyitja az aktuális felhasználó crontab fájlját.

2. Adjunk hozzá egy feladatot a crontab fájlhoz a fent leírt mezőformátumnak megfelelően. Ha például az every_hour.sh szkriptet óránként szeretné futtatni, akkor adja hozzá a 0 * * * * * * * * /path/to/every_hour.sh sort.

3. Mentse el a módosításokat, és zárja be a fájlt.

4. Ellenőrizze a crontab -l paranccsal, hogy a feladat hozzá lett-e adva a crontab-hez. Ez megjeleníti a crontab-ba hozzáadott összes feladat listáját.

5. Ellenőrizze, hogy a feladat ütemezetten fut-e a tail -f /var/log/syslog paranccsal. Látni fogja a feladat végrehajtásával kapcsolatos kimenetet.

6. Ha el akar távolítani egy feladatot a crontab-ból, használja a crontab -r parancsot.

Néhány fontos dolgot érdemes szem előtt tartani:

  • szkripteket és parancsokat egyaránt hozzáadhat a crontabhoz. Ha azonban egy szkriptet akar végrehajtani, győződjön meg róla, hogy rendelkezik execute jogosultságokkal(chmod +x /path/to/script.sh).
  • ha azt szeretné, hogy a feladat root felhasználói jogokkal fusson, akkor a sudo crontab -e paranccsal nyissa meg a crontab fájlt a root felhasználó számára.
  • győződjön meg arról, hogy a futtatott parancsok és szkriptek a megfelelő helyen vannak, és megfelelő olvasási és végrehajtási jogosultságokkal rendelkeznek.

Vegye figyelembe, hogy a crontab-ban megadott időpont megegyezik a Cron-t futtató kiszolgálón lévő idővel. Ha távoli kiszolgálót használ, győződjön meg arról, hogy a kiszolgálón az idő helyesen van-e beállítva.