Cron feladatütemező: mikor lehet hasznos és hogyan használjuk webfejlesztéshez

Olvasási idő: ~4 perc

Cron feladatütemező: mikor lehet hasznos és hogyan használjuk webfejlesztéshez

A cron egy szolgáltatás az UNIX operációs rendszereken, ami bizonyos időközönként feladatokat futtat a szerveren. A Cron-nak köszönhetően a webfejlesztő könnyen és egyszerűen automatizálhat egyes folyamatokat, mint időzített levél küldés emlékeztetőhöz vagy frissítések automatikus kezelése.

Cron beállítása manuálisan konzolból

A Cron ütemezés beállításai crontab fájlokban vannak. Ezek határozzák meg, milyen parancsok és mikor fussanak a szerveren. A felhasználók külön crontab fájlokat használnak melyek a /var/spool/cron/crontabs könyvtárban találhatóak meg. Részletes leírás a crontabról a hivatalos dokumentációjában található. A következőkben csak a főbb beállításokról lesz szó. A crontab fájl szerkesztése a crontab -e paranccsal lehetséges. A parancs kiadása után a crontab fájl megnyílik szerkesztésre. A parancs futtatása nem akadályozza a Cron futását, minden folyamat, ami már a crontab fájlban van a megadott ütemezésnek megfelelően futni fog. Alap parancsok:
  • crontab -l megjeleníti az aktuális felhasználó crontab fájljának tartalmát;
  • crontab -r törli az aktuális felhasználó ütemezett feladatait;
  • crontab -e megnyitja az aktuális felhasználó crontab fájlját szerkesztésre;
Új ütemezés létrehozásához bele kell írni egy sort a crontab fájlba. Ebben a sorban lesz meghatározva az idő, ismétlődés és maga a parancs vagy szkript elérési útja.

Egy sor struktúrája

Minden sornak 6 paramétere van amik szóközzel vannak elválasztva. Az első 5 paraméter az időzítés beállításához szükséges (perc, óra, nap, hónap, a hét napja), a 6. maga a parancs. Az idő megadásának módjai:
  • számok;
  • vesszővel elválasztott lista számokkal;
  • szóközzel megadott intervallum;
  • * vagy / karakterek. A * karakter azt jelenti, hogy minden alkalommal futtatja. Példa: * * * * * [parancs] minden percben futtatásra kerül sor. Ahhoz, hogy adott intervallumban fusson, pl. 10 percenként a / karaktert kell használni: */10 * * * * [parancs]
A dátum és idő relatív a szerveren beállított idővel és időzónával. Vezérlőpult használata esetén (esetünkben ISPmanager által teljesen támogatott) nincs szükség manuális crontab szerkesztésre, a felületről létrehozható egy-egy ütemezett feladat, egyszerűen.

Cron kezelése ISPmanager rendszerben

Az ISPmanager egy vezérlőpult szerverek és weboldalak számára, mely beépített Cron beállításokkal rendelkezik. Új ütemezett feladat lérehozásához vagy meglévő módosításához nincs szükség konzolban, manuálisan szerkeszteni a crontab fájlt, egy egyszerű felületen elérhető minden ezzel kapcsolatos beállítás. Erről készítettünk egy részletesebb bemutatót, amit ide kattintva lehet megtekinteni.

Ütemező használata különböző CMS-hez

Több CMS rendelkezik beépített mechanizmusokkal Cron használatához. A legfőbb feladata általános weboldal karbantartási feladatok futtatása (pl. frissítések keresése, értesítések küldése) és általában külön beállítás nélkül működnek.

A Cron hátránya és nem várt meglepetések

Van, hogy egy feladat leáll, így nem fut le időben. Például egy feladat beállításra került a szerveren, ami naponta egyszer fut, hogy fontos adatot gyűjtsön további feldolgozásra. Ha valami történik a kiszolgálón a feladat futtatásának idejében (pl. újraindul, vagy kevés memória miatt leállítja a folyamatot), akkor az ütemezett feladat nem fog lefutni automatikusan újra, így manuálisan kell lefuttatni vagy megvárni a soron következő ütemezést, amely jelen példa esetében a következő nap.

forrás: ispmanager.com dima.hu