Cronjobs instellen
Laatst bijgewerkt: 19 mei 2025
Met een website of webshop is het onvermijdelijk bepaalde taken of acties regelmatig uit te voeren. Wanneer je dezelfde taak met enige regelmaat uitvoert, kan het handig zijn hier een cronjob voor in te zetten. In dit artikel leggen we je uit waarvoor je een cronjob kunt gebruiken en hoe je een cronjob instelt.
Inleiding
Een cronjob is een specifieke taak die je periodiek kunt laten uitvoeren door de server. Je geeft aan welke taak uitgevoerd moet worden en wanneer dat moet gebeuren. Taken die je kunt overlaten aan een cronjob zijn bijvoorbeeld het updaten van je website of het automatisch legen van een winkelmandje.
Een cronjob bestaat dus uit twee delen: het commando en de tijdsaanduiding.
Om de tijdsaanduiding te bepalen kun je de volgende gegevens gebruiken:
- m = minuten
- h = uur
- dom = dag van de maand
- mon = maand van het jaar
- dow = dag van de week
Deze volgorde gebruik je bij het instellen van een cronjob: <minuten> <uren> <dagen> <maanden> <weekdagen> <commando>
Om het commando van de cronjob te bepalen, zijn er twee onderdelen die je aangeeft. Dit zijn de locatie van het bestand wat je wilt uitvoeren en het programma wat je gebruikt.
Hoe ziet een cronjob eruit?
Dit is een voorbeeld van een cronjob:
30 8,15 * */2 2 php /home/domein1q/public_html/cron.php
Hieruit kun je lezen dat de cronjob staat ingesteld om uitgevoerd te worden om 08:30 en 15:30, op iedere dinsdag van elke week, om de maand. Het programma PHP wordt gebruikt om het bestand cron.php uit te voeren. Dit is vanuit de locatie /home/domein1q/public_html.
Let op: Het is belangrijk om het volgende gedeelte bovenaan je cronjob te plaatsen om alleen PHP te gebruiken: PATH=/usr/local/bin/:/usr/bin:/bin Om een specifieke versie van PHP te gebruiken binnen de shared hosting-omgeving kun je het volgende voor je commando plaatsen:
5.6 5.6.40 /opt/alt/php56/usr/bin/php 7.0 7.0.33 /opt/alt/php70/usr/bin/php 7.1 7.1.33 /opt/alt/php71/usr/bin/php 7.2 7.2.34 /opt/alt/php72/usr/bin/php 7.3 7.3.29 /opt/alt/php73/usr/bin/php 7.4 7.4.22 /opt/alt/php74/usr/bin/php 8.0 8.0.9 /opt/alt/php80/usr/bin/php
Een cronjob instellen
Bij welk merk van Versio ben je klant? Kies hieronder voor het gewenste label voor jouw instructies.
-
Versio
Uitgebreide informatie voor het instellen van een cronjob vind je hier. Daar wordt gesproken over het pad naar de PHP parser (/pad/naar/php/parser). Bij Versio is dit: /usr/local/bin/php -q -f. Voor domeinen ingesteld voor PHP 7 dien je gebruik te maken van: /usr/local/php70/bin/php70 -q -f
Bovenstaande geldt alleen wanneer je een cronjob hebt ingesteld op jouw VPS. Jouw cronjob (het deel wat je in het Command veld invoert) zal er als volgt uitzien:
/usr/local/bin/php -q -f /home/jouw gebruikersnaam/domains/jouw domeinnaam/public_html/cronjob_bestand.php >/dev/null 2>&1
Mocht een script uitgaan van relatieve paden, dan is het handig eerst een change directory uit te voeren waaruit het script gedraaid dient te worden. In dat geval zal je cronjob er als volgt uitzien:
cd /home/jouw gebruikersnaam/domains/jouw domeinnaam/public_html/ && /usr/local/bin/php -q -f cronjob_bestand.php >/dev/null 2>&1
Wij adviseren je om altijd gebruik te maken van bovenstaande regel en niet van de methode via wget.
-
PCextreme
Taak aanmaken
Het pad naar php moet worden meegegeven in het commando. Om een .php bestand uit te voeren kan je het volgende pad gebruiken:
/usr/local/bin/php
Deze verwijst standaard naar een actuele, gangbare PHP versie. Momenteel is dit PHP 7.1 Wens je gebruik te maken van een specifieke versie van php, kan je dit ook aangeven:
/usr/bin/php56
/usr/bin/php71
/usr/bin/php72
/usr/bin/php73
;
Om een .sh bestand uit te voeren kan je het volgende pad gebruiken:
/usr/bin/bash
Nadat je de juiste module aanroept, moet je het gewenste script dat je wil uitvoeren aanroepen. Het is belangrijk dat je hier het volledige absolute pad gebruikt naar het script, dus bijvoorbeeld:
/srv/home/voorbeelddomeinxyz/domains/voorbeelddomein.xyz/htdocs/www/cronjob-script.php
De complete cronjob
Als je een cronjob in wilt stellen om iedere dag van de week om 09:00 het bestand ‘cronjob-script.php’ uit te voeren welke in de ‘www’ folder van mijn hostingpakket staat, geef je de volgende cronjob in:
0 9 * * * /usr/local/bin/php /srv/home/voorbeelddomeinxyz/domains/voorbeelddomein.xyz/htdocs/www/cronjob-script.php
De cronjob instellen
Je kan een cronjob instellen door via SSH in te loggen op je hostingpakket. Als je een SSH verbinding hebt met je hostingpakket, kan je de reeds ingestelde cronjobs bezien via het volgende commando:
crontab -l
Als er geen cronjobs ingesteld staan, geeft dit commando geen output. Om een cronjob in te kunnen stellen, zorgen we er eerst voor dat het programma dat gebruikt wordt om de cronjob in te geven, is ingesteld op Nano. Standaard wordt de editor VIM gebruikt. Hoewel dit een prima editor is, leert de ervaring ons dat gebruik ervan door de meeste mensen als iets lastiger wordt ervaren.
Geef het onderstaande commando in om Nano als standaard editor in te stellen:
export VISUAL=’nano’
Vervolgens gebruik je het volgende commando om de cronjob te openen, zodat je deze kan aanpassen:
crontab -e
Er opent een venster, waarin je de cronjob kan plakken. Als je alle cronjobs hebt ingegeven of alle wijzigingen hebt doorgevoerd zoals je deze wenst kan je het bestand opslaan. Dit doe je door de toetsencombinatie ‘CTRL + X’ in te geven.
Onderaan je scherm krijg je de vraag ‘Save modified buffer (ANSWERING ‘No’ WILL DESTROY CHANGES) ?’. Je tikt nu op de letter ‘y’ op je toestenbord om aan te geven dat je de wijzigingen op wilt slaan, en tikt vervolgens om enter om het bestand op te slaan met de huidige naam.
Als alles goed is gegaan, ben je terug waar je begon, en zie je de melding ‘crontab: installing a new crontab’ staan. De cronjob is hiermee succesvol ingesteld, en zal op de opgegeven tijdstippen voor je worden uitgevoerd.
-
Neostrada
Stappenplan 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.
WordPress
- Log in op cPanel.
- Klik onder de categorie Bestanden op Bestandsbeheer.
- Navigeer naar de map waar je WordPress hebt geïnstalleerd. Vaak is dat /public_html/ of /public_html/wordpress/.
- Klik rechts op het bestand wp-config.php en klik op Edit.
- Scroll naar beneden totdat je de tekst That’s all, stop editing! Happy blogging. ziet. Mocht je deze regel niet zien scroll dan helemaal naar onderen. Plak de volgende regel daarboven:
define(‘DISABLE_WP_CRON’, true);
- Klik rechts bovenaan op ’Wijzigingen opslaan’ en vervolgens op ’Sluiten’;
- Keer terug naar cPanel en klik onder de categorie ’Geavanceerd’ op ’Cron-taken’;
- Selecteer onder ’Standaardinstellingen’ de optie ’Twee keer per dag’;
- Bepaal in welke map WordPress is geïnstalleerd. Als dat ’/public_html/’ is voer je onder ’Opdracht’ de volgende regel in:
cd /home/jouw_account/public_html; php -q wp-cron.php
Pas de bovenstaande regel aan als WordPress in een andere map is geïnstalleerd. Vervang jouw_account met jouw cPanel-gebruikersnaam. Klik op ’Nieuwe cron-taak toevoegen’ om de cron job toe te voegen.
Magento
In Magento zijn er een hoop taken die je moet uitvoeren om je shop up-to-date te houden. Denk hierbij aan productinformatie bijwerken, herindexeren, e-mails sturen voor bestelbevestigingen en nog veel meer. Kortom, een hoop taken die je liever niet handmatig telkens uitvoert.
Je stelt de cronjob dan als volgt in:
*/5 * * * * php /home/domein1q/public_html/cron.php
Hierbij pas je domein1q aan naar de username van je hostingpakket. De locatie moet aangepast worden naar de specifieke locatie van het cron.php bestand van Magento
Via cPanel instellen
Indien je dit via cPanel instelt dan stel je de cronjob in als onderstaand scherm:
Hierbij is het belangrijk om een eventuele aanpassing te doen aan het php gedeelte bij ‘Opdracht’. Bovenstaand voorbeeld kun je alleen gebruiken als je al reeds eerder in je cronjob het volgende stukje hebt staan:
PATH=/usr/local/bin/:/usr/bin:/bin
Is dat niet het geval stel dan het onderste gedeelte van je cronjob als volgt in:
*/5 * * * * /opt/cpanel/ea-php70/root/usr/bin/php /home/domein1q/public_html/cron.php (indien PHP 7)
*/5 * * * * /opt/cpanel/ea-php56/root/usr/bin/php /home/domein1q/public_html/cron.php (indien PHP 5.6)
Was dit artikel nuttig?
