Een cronjob is een Unix commando dat een programma of script op een ingesteld tijdstip uitvoert. Vaak worden cronjobs gebruikt voor het ophalen van de mail, het verzenden van mail of het controleren voor updates.
Met de webhostingpakketten van TransIP kan je zelf naar wens cronjobs instellen via het controlepaneel of via SSH. Via het controlepaneel werkt dit echter niet met Unix commando's, maar je kunt op dezelfde manier wel PHP scripts aanmaken en laten uitvoeren. In dit artikel lees je hoe je met een webhostingpakket cronjobs instelt.
Cronjobs aanmaken via het controlepaneel
Ga binnen je controlepaneel via het linkermenu naar 'Webhosting'. Klik vervolgens onder 'Producten' op je domeinnaam.

Klik nu bovenaan op 'Geavanceerd' en daarna op 'Cronjobs'.

Hier zie je jouw aangemaakte cronjobs terug. Om een nieuwe cronjob aan te maken, klik je op de knop '+ Toevoegen'.

Bij het aanmaken van een cronjob, is het van belang dat je de volgende gegevens instelt:
- De frequentie van de cronjob.
- De URL waar het cronjob-script zicht bevindt.
Klik tot slot op 'Opslaan' om de cronjob actief te maken.
Let op dat een cronjob ingesteld via het controlepaneel niet langer kan draaien dan 300 seconden (5 minuten). Dit is afhankelijk van de max_execution_time in je PHP-instellingen.
Wil je een cronjob gebruiken dat langer nodig heeft, dan kun je deze via SSH aanmaken.
Cronjobs aanmaken via SSH
Je kunt ook via SSH cronjobs toevoegen. Het voordeel daarvan is dat er minder vertraging in zit, en het script kan langer draaien (20 min) dan wanneer je een cronjob via het controlepaneel instelt (5 min).
Voor het plannen van cronjobs gebruik je een crontab. Je opent crontab met:
crontab -eIedere cronjob die je aanmaakt in crontab stel je in op één enkele regel en is opgebouwd uit twee delen: een deel waarin je aangeeft wanneer het commando uitgevoerd moet worden en een deel waarin je aangeeft welke taak uitgevoerd wordt:
* 0 * * * je_commando_of_script- Vervang je_commando_of_script door een shell-script of commando, bijvoorbeeld:
5 * * * * /usr/bin/php ~/www/script.php
# of:
* 0 * * * ~/bin/script.sh- De sterretjes geven aan wanneer de cronjob wordt uitgevoerd. In het bovenstaande voorbeeld geeft de 0 aan dat het commando iedere dag om 0:00 zou worden uitgevoerd. De sterretjes in een cronjob staan voor de volgende waardes:
# ┌───────────── minuut (0 - 59)
# │ ┌───────────── uur (0 - 23)
# │ │ ┌───────────── dag van de maand (1 - 31)
# │ │ │ ┌───────────── maand (1 - 12)
# │ │ │ │ ┌───────────── dag van de week (0 - 6) (Zondag tot Zaterdag)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * je_commando_of_scriptNa het invoeren sluit je af met 'escape' gevolgd door:
:wqJe kunt je ingestelde cronjobs controleren met het commando:
crontab -l
WP_Cron vervangen
Heb je een WordPress website met vrij weinig of juist heel veel bezoekers? Dan kan het de performance ten goede komen om de automatische cronjob van WordPress uit te schakelen, en deze te vervangen met een cronjob die op een vast interval draait.
De automatische WP_CRON wordt namelijk uitgevoerd zodra een bezoeker de website bezoekt. Zijn er weinig bezoekers, dan kan het zijn dat er een hele hoop taken staan te wachten en pas worden uitgevoerd zodra er een bezoeker op jouw website komt. Aan de andere kant wil je bij een druk bezochte website niet dat bij elke bezoeker een check wordt uitgevoerd.
We raden je aan om dit enkel te doen wanneer je bekend met cronjobs. Inhoudelijk kunnen we hier geen ondersteuning op bieden.
Je kunt dit oplossen in 2 stappen:
Stap 1
Schakel de automatische WP_CRON uit door een regel toe te voegen aan de wp-config.php, voor de regel /* That's all, stop editing! Happy publishing. */:
define('DISABLE_WP_CRON', true);
Stap 2
Voeg een cronjob toe via SSH:
15 * * * * /usr/bin/php ~/www/wp-cron.php
In dit voorbeeld zullen de cron events elk uur worden uitgevoerd om 15 minuten over.
In dit artikel hebben we uitgelegd hoe je cronjobs aanmaakt op een webhostingpakket.