Egy démon Linuxban hívott cron rendszeres időközönként végzi a folyamatokat. Megvizsgál bizonyos mappákat a rendszeren, hogy a szkriptek egy sor mappában fussanak, beleértve az /etc/cron.hourly fájlt, /etc/cron.daily, /etc/cron.weekly és /etc/cron.monthly. Létezik egy / etc / crontab nevű fájl is.
A parancsfájlok elhelyezése a Cron mappákban
Egyszerűen elhelyezhetsz parancsfájlokat a megfelelő mappákba, hogy rendszeres időközönként fusson.
Például nyisson meg egy terminál ablakot, és futtassa a következő ls parancsot:
ls / etc / cron *
Megjelenik a programok vagy parancsfájlok óránkénti, napi, heti és havonta futó listája.
A baj ezekkel a mappákkal, hogy egy kicsit homályos. Például, napi azt jelenti, hogy a szkript naponta egyszer fut, de nincs ellenõrzése a szkript futtatásának idõpontjában.
Itt jön be a crontab fájl.
A crontab fájl szerkesztésével egy szkriptet vagy programot futtathat a pontos dátumra és időre, ahányszor futni akarsz.
Engedélyek
A crontab parancs megköveteli, hogy a felhasználó jogosult legyen egy crontab fájl szerkesztésére. Alapvetően két fájl található a crontab jogosultságok kezelésére:
- /etc/cron.allow
- /etc/cron.deny
Ha a /etc/cron.allow fájl létezik, akkor a crontab fájlt szerkesztő felhasználónak ebben a fájlban kell lennie. Ha a cron.allow fájl nem létezik, de létezik egy /etc/cron.deny fájl, akkor a felhasználónak nem szabad létenie a fájlban. Ha mindkét fájl létezik, akkor a /etc/cron.allow felülbírálja az /etc/cron.deny fájlt. Ha egyik fájl sem létezik, akkor a rendszer konfigurációjától függ, hogy a felhasználó szerkesztheti-e a crontab-ot.
A root felhasználó mindig szerkesztheti a crontab fájlt. A su paranccsal a root felhasználóra vagy a sudo parancsra ugorhat a crontab parancs futtatásához.
A Crontab fájl szerkesztése
Minden jogosultsággal rendelkező felhasználó saját crontab fájlt hozhat létre. A cron parancs alapvetően minden crontab fájlt keres, és végigfut minden.
Annak ellenőrzéséhez, hogy van-e crontab fájlod, futtassa a következő parancsot:
crontab -l
Ha nincs egy crontab fájljában az "no crontab for message" üzenet A crontab fájl létrehozásához vagy szerkesztéséhez hajtsa végre a következő parancsot: crontab -e A megnyíló fájlnak sok információja van, de a legfontosabb rész a kommentárok vége előtt található példa (a megjegyzéseket a # -al kezdődő sorok jelölik). # m h dom mon dow parancs 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / A crontab fájl minden egyes sorára 6 információ található: Minden egyes elemhez (kivéve a parancsot) meg lehet adni egy helyettesítő karaktert. Nézze meg a következő példát: crontab vonal: 30 18 * * * tar -zcf /var/backups/home.tgz / home / 30 perccel, 18 órával és a nap minden napján, hónapjában és napjában ez a crontab bejegyzés a zip könyvtárat és a home könyvtárat a / var / backups mappába zárolja. Ahhoz, hogy parancsot futtasson 30 perc múlva minden órában, futtassa a következő parancsot: 30 * * * * parancs Ahhoz, hogy egy parancsot futtasson minden percben, mint 6 óra, futtassa a következő parancsot: * 18 * * * parancs Ezért óvatosnak kell lennie a crontab parancsok beállításához. Például: * * * 1 * parancs Ez a parancs januárban minden héten minden nap minden órájában fut. Egy parancs futtatásához január 1-jén 5 órakor a crontab fájlt a következő paranccsal hajtotta végre: Az idő nagy részében nem kívánja eltávolítani a crontab fájlt, de lehet, hogy bizonyos sorokat eltávolít a crontab fájlból. Ha azonban el szeretné távolítani a felhasználó crontab fájlját, futtassa a következő parancsot: crontab -r Ennek biztonságosabb módja a következő parancs futtatása: crontab -i Az operációs rendszer kéri az ellenőrzést, mielőtt eltávolítja a crontab fájlt.
Crontab fájl eltávolítása