Opret en cronjob/planlagt opgave
Du kan oprette såkaldte cronjobs. Det er et program, der kører på forudindstillede tidspunkter. Det er ikke tilladt at oprette cronjobs, der kører oftere end 1 gang pr. 10 minutter. Tunge cronjobs (der belaster processoren ekstremt) er heller ikke tilladt. Der kører jo flere websteder på 1 server. Du vil ikke generes af andre, og andre vil heller ikke generes af dig. WebOké kan om nødvendigt stoppe cronjobs. Reglen er, at en cronjob ikke må køre længere end 10 sekunder. Vil du lade cronjobs køre oftere, er det tilladt fra og med POWER WEBHOST-pakkerne.
Opretter du flere cronjobs, gælder det for det samlede antal, så start venligst højst 1 cronjob pr. 10 minutter. Fordel altså dine cronjobs godt, det gavner serverens ydeevne.
Medtag helst denne sætning i din cronjob: set_time_limit(10). Så stopper din cronjob, hvis den varer længere end 10 sekunder. En cronjob opretter du i kontrolpanelet.
Hvordan ser en cronjob ud?
En cronjob, der for eksempel starter et PHP-program, ser sådan ud:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
Du erstatter <usrdir> med DirectAdmin-brugernavnet, <uwdomein.xx> med dit domænenavn og <taak.php> med dit PHP-script.
E-mail efter hver cronjob
Som standard bliver der sendt en e-mail til din standard-e-mailkonto. I den e-mail vises eventuelle fejl fra cron og også eventuelle udskrifter. Du kan se den postkasse ved at angive dit kontonavn som brugernavn på webmail.weboke.nl sammen med adgangskoden og servernavnet. Vil du ikke længere modtage en e-mail hver gang, så tilføj dette efter cronjobbet: /dev/null 2>&1
Stierne er lidt anderledes end via FTP
Du skal altså angive den fulde sti til PHP og den fulde sti på serveren til PHP-programmet. Det er anderledes end via FTP, nu står /home/usrdir foran. Usrdir skal du erstatte med dit eget brugernavn (det til kontrolpanelet).
Vigtigt!! En cronjob kender intet domænenavn
Vær også opmærksom på, at PHP-programmet ikke ved, hvilket websted det kører under, når det startes fra en cronjob. $_SERVER['SERVER_NAME'] er tom, og også en include vil mislykkes, fordi der ikke er nogen basissti!!
Eksempelkode, som du kan medtage i cronprogrammet for at undgå det:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (husk at erstatte <usrdir> og <uwdomein.xx>!!!)
- $_SERVER['SERVER_NAME'] = 'ditdomæne.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
