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.
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á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:
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
).sudo crontab -e
paranccsal nyissa meg a crontab
fájlt a root felhasználó számára.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.