Opret en administrer cronjob (og hvad du skal gøre, hvis den ikke kører)
Med et cronjob (i DirectAdmin: Cron Jobs) kan du lade et script køre automatisk på faste tidspunkter, for eksempel hver nat. Herunder kan du læse, hvordan du opretter et, og hvad du gør, hvis det ikke virker.
Regler for cronjobs
- Hos Webhost One og Webhost Two må der højst starte en opgave hvert 10. minut, for alle dine opgaver tilsammen.
- Hos Power Webhost-pakkerne må opgaver køre oftere.
- Fordel flere cronjobs over tid, og vælg et roligt tidspunkt, som 03:17 i stedet for præcis midnat.
- Tunge cronjobs, der belaster serveren i lang tid, er ikke tilladt. Der kører flere websites på den samme server. Om nødvendigt stopper vi et cronjob. Hold derfor dine opgaver korte, og lad dem ikke køre oftere end nødvendigt.
Opret et cronjob
- Log ind på DirectAdmin, og klik under Avancerede Funktioner på Cron Jobs.
- Klik på Opret Cron Job.
- Udfyld minut, time, dag, måned og ugedag. Angiv altid minuttet med et tal, ikke en stjerne, ellers kører opgaven hvert minut.
- Angiv den fulde sti ved kommandoen, for eksempel:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Erstat gebruiker med dit DA-brugernavn. - Klik på Opret.

E-mail efter hvert cronjob
Outputtet fra et cronjob går til pakkens standard e-mailkonto, se Standard e-mailkontoen i DirectAdmin. Du kan også sende outputtet til din egen adresse med Send alt cron output til e-mail. Vil du ikke have e-mails, så klik ved oprettelsen på Undgå e-mails, eller sæt dette efter kommandoen:
>/dev/null 2>&1
Vær opmærksom ved PHP-scripts
Et script, der kører fra et cronjob, ved ikke hvilket domæne det kører under. $_SERVER['SERVER_NAME'] og $_SERVER['DOCUMENT_ROOT'] er tomme, og en include med en relativ sti kan mislykkes. Sæt derfor øverst i dit script:
$pad = '/home/gebruiker/domains/jouwdomein.nl/public_html'; $_SERVER['SERVER_NAME'] = 'jouwdomein.nl'; $_SERVER['DOCUMENT_ROOT'] = $pad; set_include_path($pad . PATH_SEPARATOR . get_include_path());
Kører dit cronjob ikke?
Gennemgå disse punkter et for et:
- Læs outputtet. Fjern midlertidigt
>/dev/null 2>&1, og se i mailen i standard e-mailkontoen, eller angiv din egen adresse. Der står ofte præcis, hvad der går galt. Du kan også skrive outputtet til en logfil ved at sætte>> /home/gebruiker/cron-log.txt 2>&1efter kommandoen. - Kontroller stien. Meddelelsen Could not open input file betyder, at stien til scriptet ikke er korrekt. Kig i Filhåndtering: stien begynder med
/home/gebruiker/domains/. - Kontroller PHP-versionen. Med
/usr/local/bin/phpbruger opgaven den samme PHP-version som din hjemmeside. Virker dit script kun med en anden version, så ret det under Select PHP version. - Test kommandoen manuelt. Har du en pakke med Terminal, så indsæt kommandoen der, og se hvad der sker, se Åbn SSH eller Terminal i DirectAdmin. Uden Terminal åbner du scriptet i din browser, eller kalder du det i cronjobbet via
curl --silent https://www.jouwdomein.nl/taak.php. - Kontroller rettighederne. Scriptet skal kunne læses: filer skal stå på 644, og mapper på 755. Se Rettigheder for filer og mapper (chmod).
- Kontroller tidspunktet. Se under Cronjob udføres: om opgaven kører, når du tror den gør. Står der en stjerne ved minuttet, kører den hvert minut og kan blive stoppet.
- Kontroller pakkegrænsen. Kører opgaven oftere, end din pakke tillader, eller tager den for lang tid, bliver den afbrudt. Fordel så arbejdet over flere omgange.
date >> /home/gebruiker/cron-log.txt; foran din kommando.Se også i DirectAdmin-vejledningen: Standard e-mailkontoen for din pakke.
Uddybende forklaring med skærmbilleder: Cron Jobs: lad opgaver køre automatisk i DirectAdmin-vejledningen.
