Een cronjob voert automatisch taken uit op geplande tijden. In deze handleiding leggen we uit hoe je cronjobs instelt in DirectAdmin. Dit kan je helpen om tijd te besparen en ervoor te zorgen dat belangrijke taken regelmatig worden uitgevoerd zonder dat je daar handmatig naar om hoeft te kijken.

Wat is een cronjob?

Een cronjob (of cron task) is een geplande taak die automatisch op bepaalde tijden wordt uitgevoerd. Dit kan variëren van dagelijkse database backups tot het genereren van wekelijkse rapporten. Hier zijn enkele voorbeelden van veelvoorkomende cronjobs:

  • Dagelijkse database backup
  • Elk uur cache legen
  • Wekelijks rapport genereren
  • Periodiek scripts uitvoeren

Cronjobs zijn bijzonder nuttig voor webontwikkelaars en systeembeheerders, omdat ze repetitieve taken automatiseren en zo de kans op menselijke fouten verminderen.

Cronjob aanmaken

Stap 1: Navigeer naar Cron Jobs

  1. Log in op DirectAdmin
  2. Ga naar Cron Jobs in het menu
  3. Je ziet een overzicht van bestaande cronjobs

Stap 2: Nieuwe cronjob toevoegen

  1. Klik op Add Cron Job of Cronjob toevoegen
  2. Vul de timing in (zie hieronder)
  3. Vul het commando in
  4. Klik op Add of Toevoegen

Timing configureren

Een cronjob gebruikt 5 tijdvelden:

Veld Bereik Betekenis
Minuut 0-59 Op welke minuut
Uur 0-23 Op welk uur
Dag 1-31 Op welke dag van de maand
Maand 1-12 In welke maand
Weekdag 0-7 Op welke dag (0=zondag)

Veelgebruikte tijdschema's

Hier zijn enkele veelgebruikte tijdschema's voor cronjobs:

  • Elke minuut:
    * * * * *
  • Elk uur:
    0* * * *
  • Elke dag om 3:00:
    0 3* * *
  • Elke maandag om 9:00:
    0 9 * * 1
  • Eerste dag van de maand:
    0 0 1 * *

Voorbeelden van commando's

Hier zijn enkele voorbeelden van commando's die je kunt gebruiken in je cronjobs:

WordPress cron uitvoeren

/usr/local/bin/php /home/user/domains/site.nl/public_html/wp-cron.php

PHP script uitvoeren

/usr/local/bin/php /home/user/domains/site.nl/public_html/scripts/backup.php

Database backup

/usr/bin/mysqldump -u user -p'wachtwoord' database > /home/user/backups/db-$(date +\%Y\%m\%d).sql

URL ophalen (webhook)

/usr/bin/wget -q -O /dev/null https://site.nl/cron-endpoint

Cache legen

rm -rf /home/user/domains/site.nl/public_html/cache/*

Cronjob beheren

Bewerken

  1. Ga naar Cron Jobs
  2. Klik op de cronjob
  3. Wijzig timing of commando
  4. Klik op Save

Uitschakelen

  1. Voeg # toe aan het begin van het commando
  2. De cronjob wordt overgeslagen maar niet verwijderd

Verwijderen

  1. Ga naar Cron Jobs
  2. Selecteer de cronjob
  3. Klik op Delete

Output en logging

Output naar bestand

0 3* * * /usr/local/bin/php /path/to/script.php >> /home/user/logs/cron.log 2>&1

Output negeren

0 3 * * * /usr/local/bin/php /path/to/script.php > /dev/null 2>&1

Output per e-mail

DirectAdmin kan cronjob output e-mailen. Stel dit in via Cron Jobs instellingen. Dit kan handig zijn om op de hoogte te blijven van eventuele fouten of problemen die zich voordoen bij het uitvoeren van de cronjob.

WordPress en cronjobs

WordPress gebruikt wp-cron.php voor geplande taken. Voor betere prestaties:

  1. Schakel WP-Cron uit in wp-config.php:
  2. define('DISABLE_WP_CRON', true);
  3. Voeg een echte cronjob toe:
  4. */15 * * * * /usr/local/bin/php /home/user/domains/site.nl/public_html/wp-cron.php

Veelvoorkomende problemen

Cronjob werkt niet

Als je cronjob niet werkt, zijn hier enkele stappen die je kunt volgen om het probleem op te lossen:

  1. Check het pad: Zorg ervoor dat je volledige paden gebruikt in je commando's.
  2. Check permissies: Zorg ervoor dat het script uitvoerbaar is.
  3. Check output: Redirect output naar een logbestand om eventuele foutmeldingen te bekijken.
  4. Test handmatig: Voer het commando uit via SSH om te zien of het werkt.

Verkeerde PHP versie

Als je een specifieke PHP versie nodig hebt, specificeer deze dan in je cronjob:

/usr/local/bin/ea-php81 /path/to/script.php

Commando niet gevonden

Gebruik altijd volledige paden (bijv. /usr/bin/wget in plaats van wget). Dit voorkomt "command not found" errors.

Tips

  1. Test eerst handmatig: Voer het commando uit via SSH voordat je de cronjob maakt om er zeker van te zijn dat het werkt.
  2. Gebruik logging: Redirect output naar een logbestand om problemen eenvoudig te kunnen diagnosticeren.
  3. Niet te frequent: Vermijd elke-minuut cronjobs tenzij het absoluut noodzakelijk is. Dit kan serverbronnen onnodig belasten.
  4. Backup scripts testen: Controleer regelmatig of je backups daadwerkelijk werken en dat je ze kunt herstellen.
  5. Gebruik volledige paden: Dit voorkomt veelvoorkomende fouten en maakt je cronjobs betrouwbaarder.

Cron syntax tips

De cron syntax kan verwarrend zijn. Hier enkele handige hulpmiddelen:

Crontab Guru

Gebruik crontab.guru om je cron timing te verifiëren. Vul je timing in en je ziet direct wanneer de job draait.

Speciale karakters

  • * = elke waarde
  • , = lijst van waarden (bijv. 1,3,5)
  • - = bereik (bijv. 1-5)
  • / = stap waarden (bijv. */15 = elke 15)

Gerelateerde artikelen

Hulp nodig?

We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.