Opprette cronjobb eller oppgave (og hva du skal gjøre hvis den ikke kjører)
Med en cronjob (i DirectAdmin: Cron Jobs) lar du et skript kjøre automatisk til faste tider, for eksempel hver natt. Nedenfor leser du hvordan du oppretter en, og hva du gjør hvis den ikke fungerer.
Regler for cronjobber
- Hos Webhost One og Webhost Two kan det kun starte én jobb hvert 10. minutt, for alle jobbene dine samlet.
- Hos Power Webhost-pakkene kan jobber kjøre oftere.
- Fordel flere cronjobber over tid, og velg et rolig tidspunkt, som 03:17 i stedet for nøyaktig midnatt.
- Tunge cronjobber som belaster serveren lenge, er ikke tillatt. Det kjører flere nettsteder på samme server. Om nødvendig stopper vi en cronjob. Hold derfor jobbene dine korte, og la dem ikke kjøre oftere enn nødvendig.
Opprette en cronjob
- Logg inn på DirectAdmin, og klikk under Avanserte funksjoner på Cron Jobs.
- Klikk på Opprett cron-jobb.
- Fyll inn minutt, time, dag, måned og ukedag. Fyll alltid inn minuttet med et tall, ikke en stjerne, ellers kjører jobben hvert minutt.
- Fyll inn hele stien ved kommandoen, for eksempel:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Erstatt gebruiker med DA-brukernavnet ditt. - Klikk på Opprett.

E-post etter hver cronjob
Utdataene fra en cronjob går til standard e-postkonto for pakken din, se Standard e-postkonto i DirectAdmin. Du kan også sende utdataene til din egen adresse med Send all cron-utdata til e-post. Vil du ikke ha e-post, klikk da på Forhindre e-poster ved opprettelsen, eller sett følgende etter kommandoen:
>/dev/null 2>&1
Vær oppmerksom med PHP-skript
Et skript som kjører fra en cronjob, vet ikke under hvilket domene det kjører. $_SERVER['SERVER_NAME'] og $_SERVER['DOCUMENT_ROOT'] er tomme, og en include med en relativ sti kan mislykkes. Legg derfor dette øverst i skriptet ditt:
$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());
Kjører ikke cronjobben din?
Gå gjennom disse punktene en etter en:
- Les utdataene. Fjern
>/dev/null 2>&1midlertidig, og se i e-posten på standard e-postkonto, eller sett opp din egen adresse. Der står det ofte nøyaktig hva som går galt. Du kan også skrive utdataene til en loggfil ved å sette>> /home/gebruiker/cron-log.txt 2>&1etter kommandoen. - Kontroller stien. Meldingen Could not open input file betyr at stien til skriptet er feil. Se i Filbehandling: stien begynner med
/home/gebruiker/domains/. - Kontroller PHP-versjonen. Med
/usr/local/bin/phpbruker jobben samme PHP-versjon som nettstedet ditt. Fungerer skriptet ditt kun på en annen versjon, juster den da under Select PHP version. - Test kommandoen manuelt. Har du en pakke med Terminal, lim inn kommandoen der og se hva som skjer, se Åpne SSH eller Terminal i DirectAdmin. Uten Terminal åpner du skriptet i nettleseren din, eller kaller du det opp i cronjobben via
curl --silent https://www.jouwdomein.nl/taak.php. - Kontroller rettighetene. Skriptet må være lesbart: filer skal stå på 644 og mapper på 755. Se Rettigheter for filer og mapper (chmod).
- Kontroller tidspunktet. Se under Cron Job will be run: om jobben kjører når du tror. Står det en stjerne ved minuttet, kjører den hvert minutt og kan bli stoppet.
- Kontroller pakkegrensen. Kjører jobben oftere enn pakken din tillater, eller tar den for lang tid, blir den avbrutt. Fordel da arbeidet over flere runder.
date >> /home/gebruiker/cron-log.txt; foran kommandoen din.Se også i DirectAdmin-veiledningen: Standard e-postkonto for pakken din.
Utførlig forklaring med skjermbilder: Cron Jobs: la jobber kjøre automatisk i DirectAdmin-veiledningen.
