Als je een hostingpakket hebt bij XXL Hosting, kun je gebruik maken van cronjobs. Cronjobs zijn ingeplande taken die om de zoveel tijd automatisch worden uitgevoerd door de server. Dit kan handig zijn als je bijvoorbeeld elk uur een cache wilt resetten, elke nacht een backup wilt laten maken, of elke maandag een script wilt laten runnen. In deze blogpost duiken we verder in op hoe cronjobs werken en hoe je ze instelt.
Een cronjob is zoals gezegd een taak die repeterend door de server wordt uitgevoerd, en bestaat uit twee onderdelen:
Door deze 2 onderdelen in te stellen, zal de server op het door jou gekozen tijdstip de ingevoerde opdracht steeds weer opnieuw uitvoeren.
Het tijdstip-gedeelte van de cronjob bestaat uit 5 getallen, waarmee je het terugkerende tijdstip kunt instellen:
* * * * *
│ │ │ │ │
│ │ │ │ └──────── Dag van de week (0-7), waarbij 0 zondag is
│ │ │ └──────────── Maand (1-12)
│ │ └──────────────── Dag van maand (0-31)
│ └──────────────────── Uur (0-23)
└──────────────────────── Minuut (0-59)
Hieronder geef ik een aantal voorbeelden om het instellen van het tijdstip duidelijker te maken:
30 14 1 * *
0 9 * * 1
0 0 * * 2,4
0 * * * *
* * * * *
*/15 * * * *
Vaak wil je een bepaald PHP script of pagina laten uitvoeren door de cronjob, of wil je dat een bepaalde pagina wordt opgevraagd door de server. Laten we kijken hoe je dat opgeeft in het "opdrachtgedeelte" van de cronjob:
Een PHP script voer je als volgt uit:
php -q /home/gebruikersnaam/map/script.php >/dev/null 2>&1
Hierbij is /home/gebruikersnaam/map/script.php het path naar je PHP script. De -q paramater staat voor "quiet", en betekent dat er geen output getoond hoeft te worden. Verder zorgt het laatste gedeelte " /dev/null 2>&1 " er voor dat ook eventuele andere output niet getoond wordt. Mocht het script wel output genereren, dan zal de cronjob je een mailtje met deze output sturen - elke keer als de cronjob draait. Dit laatste is waarschijnlijk niet wenselijk, zeker als de cronjob vaak wordt uitgevoerd.
Vervolgens gaan we kijken hoe je een webpagina kunt opvragen met een cronjob. Dit kan een pagina van je eigen website zijn, maar het kan ook een externe pagina van een andere website zijn.
wget -O /dev/null https://www.domein.nl/script.php >/dev/null 2>&1
Dit commando zal de genoemde pagina bezoeken, waarbij de output weer wordt genegeerd. Het script op deze URL wordt dan wel gewoon uitgevoerd.
In het cPanel control panel van je hostingpakket is het instellen en beheren van cronjobs een stukje makkelijker gemaakt. Je kunt via een online interface zelf cronjobs in elkaar zetten met een soort wizard. Nadat je een cronjob hebt aangemaakt, kun je deze daarna ook wijzigen of verwijderen.
In dit artikel hebben we uitgelegd wat cronjobs zijn en hoe je ze aanmaakt.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet en neem contact met ons op.