Questions? We're happy to help

Hoe stel ik cronjobs in?

Wanneer je een website/webshop hebt is er soms een reeks aan taken die je uitvoert om de website up-to-date te houden of waarmee je bepaalde acties uitvoert. UIteraard kun je deze taken handmatig uitvoeren, maar het is makkelijker om deze automatisch voor je uit te laten voeren. Daarvoor zijn cronjobs handig; dit zijn periodieke taken die door de server uitgevoerd worden dan.

In dit artikel leggen we uit hoe je deze kunt instellen via cpanel en via SSH.

Hoe is een cronjob opgesteld?

Een cronjob bestaat altijd uit twee onderdelen:

  • Een tijdsaanduiding

  • De taak

Kijk voor een voorbeeld hieronder:

12 6 * * * php /home/domein1q/public_html/cron.php

We zullen aan de hand van bovenstaande cronjob uitleggen hoe je deze moet lezen

Tijdsaanduiding

Voor de tijdsaanduiding kun je de volgende tabel gebruiken 

m

minuten (0 -59)

h

uur (0-23)

dom

dag van de maand (1 -31)

mon

maand van het jaar (1-12)

dow

dag van de week (mon,tue,wed,thu,fri,sat,sun)

 

Kijken we dus weer naar het voorbeeld dan kunnen we hem als volgt lezen:

m = 12

h = 6

dom = *

mon *

dow = *

Dit houdt dus in dat elke dag, in een week, van elke maand, de cronjob om 06:12 aangeroepen zal worden.

Taak specificeren

Het gedeelte taak bestaat ook weer uit twee onderdelen:

  • gebruikt programma

  • locatie van bestand dat je wilt uitvoeren

In het voorbeeld zie je dus dat we PHP als programma gebruiken en dat we hiermee het bestand cron.php in de locatie /home/domein1q/public_html/ uitvoeren. Kortom; elke dag, in een week, van elke maand, om 06:12 wordt het programma PHP gebruikt om het bestand cron.php uit te voeren van de locatie /home/domein1q/public_html .

Let op! Om enkel php in je cronjob te gebruiken is het van belang dat je bovenaan je cronjob nog het volgende gedeelte plaatst:

PATH=/usr/local/bin/:/usr/bin:/bin

Je cronjob wordt dan als volgt:

PATH=/usr/local/bin/:/usr/bin:/bin

12 6 * * * php /home/domein1q/public_html/cron.php

Doe je dit niet dan werkt php niet en moet je een van de onderstaande opties gebruiken:

- /usr/local/bin/php (dan gebruik je de standaard PHP versie van je server)

- /opt/cpanel/ea-php70/root/usr/bin/php (Indien je PHP 7 wilt gebruiken)

- /opt/cpanel/ea-php56/root/usr/bin/php (Indien je PHP 5.6 wilt gebruiken)

Extra opties

Er zijn echter nog extra onderdelen die je kunt toevoegen aan je cronjob welke verschillende acties doorvoeren. Hieronder behandelen we enkele veelvoorkomende extra opties:

Output mailen van de cronjob

Je kunt de output van een cronjob naar een e-mailadres laten mailen. Hiervoor gebruik je het volgende gedeelte MAILTO= [email protected]. Wanneer je dit toepast op de cronjob uit het voorbeeld dan wordt het als volgt:

MAILTO= [email protected]

12 6 * * * php /home/domein1q/public_html/cron.php

Output van cronjob wegschrijven naar /dev/null

Indien je totaal geen output wilt ontvangen van de cronjob (eventuele errors en/of berichtje dat het is uitgevoerd), dan voeg je het volgende gedeelte toe aan je cronjob: >> /dev/null 2>&1

Wanneer je dit toepast op de cronjob uit het voorbeeld dan wordt het als volgt:

12 6 * * * php /home/domein1q/public_html/cron.php >> /dev/null 2>&1

Hoe stel ik een cronjob in?

Bij ons kun je dat op twee manieren doen:

  • Via cPanel

  • Via SSH

Beide manieren worden hieronder behandeld

Cronjob instellen via cPanel

In cPanel kun je cronjobs instellen via de optie Cron-taken onder de categorie Geavanceerd

 Klik op Cron-taken

Je krijgt dan de volgende pagina te zien:

 Cron-taken pagina

Je kunt op deze pagina de volgende dingen doen

E-mail: Hier vul je een e-mailadres in waar je de output van je cronjob naar wilt sturen.

Nieuwe cron-taak toevoegen: Hier kun je specifiek de tijdsaanduiding zelf instellen of je kiest bij Standaardinstellingen voor een aantal voorgeprogrammeerde settings. Onder Opdracht geef je dan het programma en de locatie van het bestand op dat je wilt laten uitvoeren.

Huidige cron-taken: Hier kun je reeds ingestelde cronjobs aanpassen met bewerken of verwijderen met verwijderen.

Cronjob instellen via SSH

Als je ingelogd bent met SSH gebruik je het commando crontab -e om je crontab in te stellen.

Veelgestelde vragen

Kan ik beter Wget of PHP gebruiken voor mijn cronjob?

Beide programma’s kan je prima gebruiken bij ons voor je cronjob. Wij raden je aan om het programma te gebruiken, dat de instantie van je cronjob adviseert.


Hoe kan ik de cronjob van WordPress instellen?

Kijk hiervoor in het artikel Hoe stel ik handmatig de WordPress cron job in?


Hoe kan ik de cronjob van Magento instellen?

Kijk hiervoor in het artikel Hoe stel ik handmatig de Magento cron in?


Waarom werkt mijn cronjob niet?

Vaak heeft dit te maken met een onderdeel van je taak niet klopt. Neem contact op met support en we kijken met je mee.


Waarom worden de taken in mijn CRON niet uitgevoerd?

Wij kunnen helaas alleen zien of de cronjob die je hebt ingesteld aangeroepen wordt. Wij kunnen niet zien of de taken die jij in je CMS hebt aangegeven uitgevoerd worden. Je zult dan zelf in je CMS moeten kijken wat er aan de hand is.

 

Dit kennisbank artikel is voor het laatst bijgewerkt op: 14 december 2018

Did this article help you?

Status

Ga naar onze statuspagina voor een overzicht van recente storingen en onderhoud.

Opening hours

Maandag — vrijdag 9:00 — 17:00