Vytvorenie cron jobu / úlohy
Môžete si vytvoriť takzvané cron joby, teda program, ktorý sa spúšťa vo vopred nastavených časoch. Nie je povolené vytvárať cron joby, ktoré sa spúšťajú častejšie ako 1x za 10 minút. Nie sú povolené ani náročné cron joby (ktoré extrémne zaťažujú procesor). Na 1 serveri totiž beží aj veľa ďalších webov. Nechcete, aby vás obmedzovali iní, ale ani aby ste vy obmedzovali iných. WebOké môže v prípade potreby cron joby ukončiť. Pravidlom je, že cron job nesmie bežať dlhšie ako 10 sekúnd. Ak chcete spúšťať cron joby častejšie, je to povolené od balíkov POWER WEBHOST.
Ak vytvoríte viac cron jobov, platí to pre ich súčet, teda za 10 minút spustite prosím najviac 1 cron job. Cron joby si preto dobre rozložte, prospeje to výkonu servera.
Do cron jobu ideálne vložte tento príkaz: set_time_limit(10). Vďaka nemu sa cron job zastaví, ak trvá dlhšie ako 10 sekúnd. Cron job zadáte v ovládacom paneli.
Ako vyzerá cron job
Cron job, ktorý spúšťa napríklad program v PHP, vyzerá takto:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
<usrdir> nahraďte používateľským menom v DirectAdmin, <uwdomein.xx> svojím doménovým menom a <taak.php> svojím PHP skriptom.
Odoslanie e-mailu po každom cron jobe
Štandardne sa odošle e-mail na váš predvolený e-mailový účet. V tomto e-maile sa zobrazia prípadné chyby z cronu a aj prípadné výstupy. Túto schránku si môžete pozrieť na webmail.weboke.nl, kde ako používateľské meno zadáte názov svojho účtu, heslo a názov servera. Ak už nechcete dostávať e-mail zakaždým, pridajte za cron job toto: /dev/null 2>&1
Cesty sú trochu iné ako cez FTP
Musíte teda zadať celú cestu k PHP a celú cestu k PHP programu na serveri. To je iné ako cez FTP, teraz je na začiatku /home/usrdir. Usrdir nahraďte svojím vlastným používateľským menom (tým z ovládacieho panela).
Dôležité!! Cron job nepozná doménové meno
Dajte si pozor aj na to, že PHP program spustený z cron jobu nevie, pod ktorým webom beží. $_SERVER['SERVER_NAME'] je prázdne a aj include zlyhá, pretože neexistuje základná cesta!!
Príklad kódu, ktorý môžete vložiť do programu pre cron, aby ste tomu predišli:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (nezabudnite nahradiť <usrdir> a <uwdomein.xx>!!!)
- $_SERVER['SERVER_NAME'] = 'vasadomena.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
