Stvaranje cron zadatka
Moguće je izraditi takozvane CRON zadatke (cronjob), odnosno program koji se izvodi u unaprijed postavljeno vrijeme. Nije dopušteno izrađivati cron zadatke koji se izvode češće od jednom u 10 minuta. Nisu dopušteni ni zahtjevni cron zadaci (koji izrazito opterećuju procesor). Na jednom serveru naime radi još mnogo web stranica. Ne želite da Vam drugi smetaju, a ni da Vi smetate drugima. WebOké po potrebi može prekinuti cron zadatke. Pravilo je da se cron zadatak ne smije izvoditi dulje od 10 sekundi. Ako želite češće pokretati cron zadatke, to je dopušteno od paketa POWER WEBHOST naviše.
Ako izradite više cron zadataka, to vrijedi za ukupan broj, dakle molimo pokrenite najviše 1 cron zadatak u 10 minuta. Dobro rasporedite svoje cron zadatke, to pogoduje performansama servera.
U svoj cron zadatak po mogućnosti uključite ovu naredbu: set_time_limit(10). Tako će se Vaš cron zadatak zaustaviti ako traje dulje od 10 sekundi. Cron zadatak unosite u upravljačkoj ploči.
Kako izgleda cron zadatak
Cron zadatak koji primjerice pokreće PHP program izgleda ovako:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
<usrdir> zamijenite korisničkim imenom za DirectAdmin, <uwdomein.xx> svojim nazivom domene, a <taak.php> svojom PHP skriptom.
Slanje e-pošte nakon svakog cron zadatka
Standardno se poruka šalje na Vaš standardni e-mail račun. U toj se poruci prikazuju eventualne pogreške iz crona, kao i eventualni ispisi. Taj sandučić možete pregledati tako da se na webmail.weboke.nl prijavite s nazivom svog računa kao korisničkim imenom, lozinkom i nazivom servera. Ako više ne želite svaki put primati poruku, iza cron zadatka dodajte ovo: /dev/null 2>&1
Putanje se malo razlikuju od onih putem FTP-a
Ispred morate navesti punu putanju do PHP-a i punu putanju do PHP programa na serveru. To se razlikuje od FTP-a, sada ispred stoji /home/usrdir. Usrdir morate zamijeniti vlastitim korisničkim imenom (onim za upravljačku ploču).
Važno!! Cron zadatak ne poznaje naziv domene
Imajte na umu i to da PHP program pokrenut iz cron zadatka ne zna pod kojom web stranicom radi. $_SERVER['SERVER_NAME'] je prazan, a i include neće uspjeti jer nema osnovne putanje !!
Primjer koda koji možete uključiti u cron program kako biste to spriječili:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (pazite da zamijenite <usrdir> i <uwdomein.xx>!!!)
- $_SERVER['SERVER_NAME'] = 'vasadomena.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
