Ustvarjanje opravila cron
Ustvarite lahko tako imenovana opravila CRON (cronjob), to je program, ki se izvaja ob vnaprej nastavljenih časih. Opravil cron, ki se izvajajo pogosteje kot enkrat na 10 minut, ni dovoljeno ustvarjati. Prav tako niso dovoljena zahtevna opravila cron (ki izjemno obremenjujejo procesor). Na enem strežniku namreč deluje več spletnih strani. Ne želite, da Vas motijo drugi, in tudi drugi ne želijo, da jih motite Vi. WebOké lahko opravila cron po potrebi prekine. Pravilo je, da se opravilo cron ne sme izvajati dlje kot 10 sekund. Če želite opravila cron izvajati pogosteje, je to dovoljeno od paketov POWER WEBHOST naprej.
Če ustvarite več opravil cron, to velja za vsa skupaj, zato na vsakih 10 minut zaženite največ eno opravilo cron. Opravila cron torej dobro razporedite, kar izboljša zmogljivost strežnika.
V opravilo cron po možnosti vključite ta stavek: set_time_limit(10). Tako se bo opravilo cron ustavilo, če bo trajalo dlje kot 10 sekund. Opravilo cron vnesete na nadzorni plošči.
Kako je videti opravilo cron
Opravilo cron, ki na primer zažene program PHP, je videti takole:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
<usrdir> zamenjajte z uporabniškim imenom za DirectAdmin, <uwdomein.xx> s svojim domenskim imenom in <taak.php> s svojo skripto PHP.
Pošiljanje e-pošte po vsakem opravilu cron
Privzeto se pošlje e-poštno sporočilo na Vaš privzeti e-poštni račun. V tem sporočilu so prikazane morebitne napake iz opravila cron in morebitni izpisi. Ta poštni predal si lahko ogledate tako, da na webmail.weboke.nl kot uporabniško ime vpišete ime svojega računa, geslo in ime strežnika. Če ne želite več vsakič prejeti e-poštnega sporočila, za ukaz opravila cron dodajte: /dev/null 2>&1
Poti so nekoliko drugačne kot prek FTP
Pred ukaz morate torej dodati celotno pot do PHP in celotno pot na strežniku do programa PHP. To je drugače kot prek FTP, saj je zdaj spredaj /home/usrdir. Usrdir morate zamenjati s svojim uporabniškim imenom (za nadzorno ploščo).
Pomembno! Opravilo cron ne pozna domenskega imena
Upoštevajte tudi, da program PHP, ki se zažene iz opravila cron, ne ve, pod katero spletno stranjo deluje. $_SERVER['SERVER_NAME'] je prazen, pa tudi include ne bo uspel, ker ni osnovne poti!
Primer kode, ki jo vključite v program cron, da to preprečite:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (ne pozabite zamenjati <usrdir> in <uwdomein.xx>!)
- $_SERVER['SERVER_NAME'] = 'uwdomein.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
