Cronjobs met Webhosting Plus

In dit verzamelartikel kun je antwoorden vinden op veelgestelde vragen over Cronjobs.

Dit artikel is alleen van toepassing op het Webhosting Plus pakket, zie indien nodig meer informatie over een pakketwijziging.

Houd er rekening mee dat wij niet kunnen helpen met inhoudelijke vragen over het werkend maken van bijvoorbeeld PHP scripts in combinatie met Cronjobs. We kunnen je natuurlijk wel advies geven of in de juiste richting sturen.


Wat is Cronjob?

Een cronjob is een Unix commando dat een script of opdracht op een vooraf ingesteld tijdstip uitvoert.

Cronjobs worden vaak gebruikt om e-mails te verzenden of bepaalde acties op een interval uit te voeren op je website.

Je kunt bijvoorbeeld een script maken dat statistieken vanaf jouw website verwerkt, of andere zware acties verwerkt. Dit script kun je dan op een bepaalde interval aanroepen.


Maximaal aantal Crons

Ondanks dat er geen limiet wordt aangegeven, is er een limiet van 99 Cronjobs per Webhosting Plus pakket. Dit zou meer dan voldoende moeten zijn, voornamelijk omdat je door middel van een Cronjob weer andere Cronjobs kan laten uitvoeren


Commando's voor gebruik

We ondersteunen het aanroepen van PHP en standaard Linux commando's.
Houd er rekening mee dat er geen executable van cURL aangeroepen kan worden met onze Cronjobs.

Wil je een website benaderen via cURL of data verkrijgen via cURL op bepaalde intervallen, maak dan een PHP script dat deze actie doet, deze kan dan aangeroepen worden via een Cronjob.


Configureer een Cronjob

Het configureren van Cronjobs kan heel eenvoudig, via het domein beheerpaneel van het Webhosting Plus pakket.

Het zogenaamde basis pad voor jouw website is: /home/public/sites/www.jouwwebsite.nl/

Bovenstaand pad kan je gemakkelijk zien als je inlogt op je FTP omgeving.

Instructie:

  1. Log in op het mijndomein.nl account, zie indien nodig: Inloggen.
  2. Ga naar "Mijn producten" en klik op "Instellingen" bij Webhosting Plus.
  3. Klik vervolgens op het icoon genaamd "Geplande taken (cronjobs)".
  4. Zodra de pagina geladen is, zul je een overzicht zien met Cronjobs, als deze al zijn aangemaakt.
  5. Klik op "Cronjob toevoegen".
  6. Roep het script op dat op jouw website staat, vul de nodige instellingen in en klik op "Opslaan".

    Zie hieronder een voorbeeld:

    • Beschrijving: Cron elk half uur
    • Instellingen: Twee keer per uur (0,30 * * * *)
    • Opdracht: /usr/bin/php -q /storage/web/public/sites/www.jouwwebsite.nl/testcron.php

      Bovenstaand pad kan je ook heel gemakkelijk zien als je inlogt op je FTP omgeving, je hoeft dan alleen nog maar /storage/web/ ervoor te zetten.


Troubleshoot een Cronjob

Als je een probleem hebt met het uitvoeren van Cronjobs dan kun je het beste op de volgende wijze te werk gaan.

Als een Cronjob enige tekst / output bij het uitvoeren weergeeft (foutmeldingen vallen hier ook onder), dan ontvang je hiervan een bericht binnen jouw account e-mail adres.

  1. Controleer of de opdracht klopt binnen de Cron.
    Let op het gebruik van bijvoorbeeld spaties, typefouten en bekijk ook of je het juiste pad gebruikt.

  2. Bekijk de error.log.
    Roep je PHP aan, dan zal deze foutmeldingen wegschrijven naar de error.log (folder /log op de FTP omgeving). Deze foutmeldingen kunnen een exactere oorzaak van het probleem geven.

  3. Commando's met script.php?x=actie&pagina=3 werken niet.
    Omdat je PHP aanroept via een Cronjob, voer je PHP als een zogenaamde CLI (Command Line Interface) versie uit. Deze CLI versie kent een paar belangrijke verschillen in vergelijking met de standaard PHP die je website bij normale bezoeken gebruikt.

    Je kunt op http://www.php.net/manual/en/features.commandline.differences.php nalezen wat de exacte verschillen zijn. 
    Een van de oplossingen is het gebruikmaken van de PHP parse_str functie. Zie voor nadere toelichting bijvoorbeeld http://forums.phpfreaks.com/topic/6991-php-cron-and-get-values/.

    Binnen stackoverflow.com, een van de grootste ontwikkelaars fora ter wereld, staat ook een uitgebreide workaround http://stackoverflow.com/questions/4186392/php-passing-get-in-linux-command-prompt.

    Ook is het simpelweg mogelijk, als je een URL moet aanroepen, om dit met wget te realiseren.
    wget -q -O /dev/null http://www.jouwdomeinnaam.extensie/voorbeeld.php?x=voorbeeld
    Kom je er niet uit, dan helpt onze ondersteuning je graag de juiste richting op.

Cronjob uitschakelen

  1. Log in op het mijndomein.nl account, zie indien nodig: Inloggen.
  2. Ga naar "Mijn producten" en klik op "Instellingen" bij Webhosting Plus.
  3. Klik vervolgens op het icoon genaamd "Geplande taken (cronjobs)".
  4. Zodra de pagina geladen is, zul je een overzicht zien met Cronjobs, als deze al zijn aangemaakt.

Tijdelijk: Om de cronjob tijdelijk uit te schakelen klik je op het potloodje en zet je de "status" op "inactief".

Definitief: Om de cronjob definitief te verwijderen klik je in het cronjob-overzicht op "verwijderen".

Was dit artikel nuttig?