Cronjob / ütemezett feladat létrehozása
Létrehozhat úgynevezett CRON jobokat, vagyis olyan programokat, amelyek előre beállított időpontokban futnak le. Nem megengedett olyan cronjobot létrehozni, amely 10 percenként egynél gyakrabban fut. A nagy terhelést okozó (a processzort rendkívül megterhelő) cronjobok sem megengedettek. Egy szerveren ugyanis más weboldalak is futnak. Ön sem szeretné, hogy mások zavarják, és mások sem szeretnék, ha Ön zavarná őket. A WebOké szükség esetén leállíthatja a cronjobokat. A szabály az, hogy egy cronjob legfeljebb 10 másodpercig futhat. Ha gyakrabban szeretne cronjobokat futtatni, erre a POWER WEBHOST csomagoktól kezdve van lehetőség.
Ha több cronjobot hoz létre, a szabály az összesre vonatkozik, tehát 10 percenként legfeljebb 1 cronjob induljon. Ossza el tehát jól a cronjobjait, ez a szerver teljesítményének is jót tesz.
A cronjobba lehetőleg vegye fel ezt az utasítást: set_time_limit(10). Így a cronjob leáll, ha 10 másodpercnél tovább tart. A cronjobot a vezérlőpultban adhatja meg.
Hogyan néz ki egy cronjob?
Egy például PHP-programot indító cronjob így néz ki:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
A <usrdir> helyére a DirectAdmin-felhasználónevét, az <uwdomein.xx> helyére a domainnevét, a <taak.php> helyére pedig a PHP-szkriptjét írja.
E-mail küldése minden cronjob után
Alapértelmezés szerint a rendszer e-mailt küld az alapértelmezett e-mail-fiókjába. Ebben az e-mailben jelennek meg a cron esetleges hibái és az esetleges kiírató utasítások kimenete is. Ezt a postafiókot úgy tekintheti meg, hogy a webmail.weboke.nl oldalon felhasználónévként a fióknevét adja meg, valamint a jelszót és a szerver nevét. Ha nem szeretne minden alkalommal e-mailt kapni, írja a cronjob végére ezt: /dev/null 2>&1
Az elérési utak kissé eltérnek az FTP-ben látottaktól
A PHP teljes elérési útját és a PHP-program teljes, szerveren lévő elérési útját is meg kell adnia. Ez eltér az FTP-ben látottól, mert itt /home/usrdir áll az elején. Az usrdir helyére a saját felhasználónevét (a vezérlőpultét) kell írnia.
Fontos!! A cronjob nem ismeri a domainnevet
Vegye figyelembe azt is, hogy a cronjobból indított PHP-program nem tudja, melyik weboldal alatt fut. A $_SERVER['SERVER_NAME'] üres, és az include is sikertelen lesz, mert nincs alapútvonal!!
Példakód, amelyet a cron programba felvehet ennek elkerülésére:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (a <usrdir> és az <uwdomein.xx> részt ne felejtse el lecserélni!!!)
- $_SERVER['SERVER_NAME'] = 'sajatdomain.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
