Opprett en cronjob eller oppgave (og hva du gjør hvis den ikke kjører)
Med en cronjobb (i DirectAdmin: Cron Jobs) kan du kjøre et skript automatisk til faste tider, for eksempel hver natt. Her ser du hvordan du lager en, og hva du gjør hvis den ikke fungerer.
Regler for cronjobber
- La en oppgave starte høyst én gang hvert 10. minutt. Det ber vi alle om, fordi du deler serveren med andre nettsteder.
- Spre flere cronjobber utover døgnet 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. Ved behov stopper vi en cronjobb. Hold derfor oppgavene dine korte, og ikke kjør dem oftere enn nødvendig.
Lag en cronjobb
- Logg inn i DirectAdmin og klikk på Cron Jobs under Advanced Features.
- Klikk på Create Cron Job.
- Fyll inn minutt, time, dag, måned og ukedag. Sett aldri bare en stjerne i minuttfeltet, ellers kjører oppgaven hvert minutt. Bruk et tall, eller for eksempel
*/15for hvert 15. minutt. - Fyll inn hele stien i kommandofeltet, for eksempel:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Erstatt gebruiker med DA-brukernavnet ditt. - Klikk på Create.

E-post etter hver cronjobb
Utdataene fra en cronjobb sendes til standard e-postkonto for pakken din, se Standard e-postkonto i DirectAdmin. Du kan også sende utdataene til en egen adresse med Send all Cron output to E-Mail. Vil du ikke ha e-post, klikker du på Prevent E-Mail når du lager oppgaven, eller du setter dette bak kommandoen:
>/dev/null 2>&1
Obs ved PHP-skript
Et skript som kjøres fra en cronjobb, vet ikke hvilket domene det kjører under. $_SERVER['SERVER_NAME'] og $_SERVER['DOCUMENT_ROOT'] er tomme, og en include med en relativ sti kan feile. Sett 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());
WordPress: WP-Cron på en ekte cronjobb
WordPress har sin egen planlegger, WP-Cron, for oppgaver som planlagte innlegg, sjekk av oppdateringer og oppgavene til utvidelser. Den kjører ikke til faste tider, men bare når noen besøker nettstedet ditt. Med lite trafikk kommer oppgavene på etterskudd, og med mye trafikk koster det litt ekstra tid ved hvert besøk. Med en vanlig cronjobb kjører WP-Cron til faste tidspunkter.
- Legg inn dette i
wp-config.php, over linjen/* That's all, stop editing! */:define( 'DISABLE_WP_CRON', true );
- Lag en oppgave i Cron Jobs som for eksempel kjører hvert 15. minutt: fyll inn
*/15for minutt og en stjerne for time, dag, måned og ukedag. Kommandoen:/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/wp-cron.php >/dev/null 2>&1
Ligger WordPress i en undermappe, tar du den med i stien. - Sjekk dagen etter i WordPress under Verktøy › Nettstedshelse at det ikke er varsler om planlagte oppgaver som ligger etter.
Hold deg også her til høyst én gang hvert 10. minutt. For de fleste nettsteder holder det med hvert 15. eller 30. minutt.
Kjører ikke cronjobben din?
Gå gjennom disse punktene ett for ett:
- Les utdataene. Fjern
>/dev/null 2>&1midlertidig og se i e-posten i standard e-postkonto, eller angi en 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>&1bak kommandoen. - Sjekk stien. Meldingen Could not open input file betyr at stien til skriptet er feil. Se i File Manager: stien begynner med
/home/gebruiker/domains/. - Sjekk PHP-versjonen. Med
/usr/local/bin/phpbruker oppgaven samme PHP-versjon som nettstedet ditt. Fungerer skriptet bare med en annen versjon, endrer du den under Select PHP version. - Test kommandoen manuelt. Har du en pakke med Terminal, limer du inn kommandoen der og ser hva som skjer, se SSH-tilgang og Terminal i DirectAdmin. Uten Terminal åpner du skriptet i nettleseren, eller du kaller det opp i cronjobben med
curl --silent https://www.jouwdomein.nl/taak.php. - Sjekk rettighetene. Skriptet må være lesbart: filer skal stå på 644 og mapper på 755. Se Rettigheter for filer og mapper (chmod).
- Sjekk tidspunktet. Se under Cronjob will run: om oppgaven kjører når du tror. Står det en stjerne i minuttfeltet, kjører den hvert minutt. Det er for ofte.
- Sjekk hvor lenge oppgaven tar. Tar en oppgave lang tid, eller starter den på nytt før den forrige er ferdig, kan den henge seg opp eller få pakken din til å nå grensene sine. Del da arbeidet opp i flere runder.
date >> /home/gebruiker/cron-log.txt; foran kommandoen din.Se også i DirectAdmin-veiledningen: Standard e-postkonto for pakken din.
Utfyllende forklaring med skjermbilder: Cron Jobs: kjør oppgaver automatisk i DirectAdmin-veiledningen.
Vil du lære mer? Ta det gratis WordPress-kurset, leksjon 6.3 Bilder, PHP og andre hastighetsgevinster.
