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= iets@domein.nl. Wanneer je dit toepast op de cronjob uit het voorbeeld dan wordt het als volgt:

MAILTO= iets@domein.nl

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

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.

 

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Hoe gebruik ik SSH?

SSH staat voor Secure Shell. Hiermee maak je verbinding met een server om er vervolgens...

Hoe log ik in via SFTP met FileZilla?

FileZilla is een gratis programma wat je gebruikt om in te loggen op je hosting account via FTP....

Hoe maak ik een eigen SSH Keypair aan?

Als je veilig met SSH verbinding wilt maken, raden we het gebruik van SSH keys aan. Je moet dan...

Inloggen op SSH met SSH keys

Om in te loggen met SSH keys is het belangrijk om ervoor te zorgen dat je public key is...

Hoe upload ik een database via SSH?

Bij het uploaden van een database in phpMyAdmin kan het voorkomen dat dit mislukt doordat de...