Cronjobs instellen in DirectAdmin

 

⏱️ Wat is een cronjob?

Een cronjob is een taak (bijvoorbeeld een PHP-script) die automatisch op vooraf ingestelde tijden wordt uitgevoerd.


⚠️ Belangrijke regels (JouWebhosting)

Om de server stabiel te houden gelden de volgende regels:

  • ❗ Maximaal 1 cronjob per 10 minuten

  • ❗ Een cronjob mag maximaal 10 seconden draaien

  • ❗ Zware cronjobs (hoge CPU-belasting) zijn niet toegestaan

  • ❗ Bij meerdere cronjobs geldt: samen max. 1 per 10 minuten

  • ❗ Verdeel cronjobs goed over de tijd

???? Overtreding? Dan kan JouWebhosting cronjobs beëindigen

???? Wil je vaker cronjobs draaien?
Dat kan bij ieder pakket


⚙️ Cronjob toevoegen in DirectAdmin

  1. Log in op DirectAdmin

  2. Ga naar: Geavanceerde functies → Cronjobs

  3. Stel het tijdschema in (minuten, uren, dagen)

  4. Voeg het commando toe (zie voorbeeld hieronder)


???? Voorbeeld van een cronjob

 
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
 

???? Vervang:

  • <usrdir> → je DirectAdmin gebruikersnaam

  • <uwdomein.xx> → je domeinnaam

  • <taak.php> → je PHP-script


???? Let op: juiste paden gebruiken

  • Gebruik volledige serverpaden, niet FTP-paden

  • Voorbeeld pad:

     
    /home/gebruikersnaam/domains/domein.nl/public_html/script.php
     

???? E-mailmeldingen

  • Standaard ontvang je een e-mail na elke cronjob

  • Hierin staan:

    • fouten

    • output van het script

???? Webmail bekijken via:
???? webmail.jouwebhosting.nl

❌ Geen e-mails ontvangen? Voeg dit toe aan je cronjob:

 
/dev/null 2>&1
 

⚡ Belangrijke PHP-instelling

Voeg dit toe in je script om te voorkomen dat het te lang draait:

 
set_time_limit(10);
 

???? Belangrijk: geen domeinnaam beschikbaar

Een cronjob draait los van je website, dus:

  • $_SERVER['SERVER_NAME'] is leeg

  • includes kunnen mislukken

✅ Oplossing (voorbeeld code)

 
$pad = "/home/<usrdir>/domains/<uwdomein.xx>/public_html";

$_SERVER['SERVER_NAME'] = 'uwdomein.xx';
$_SERVER['DOCUMENT_ROOT'] = $pad;

set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
 

???? Vergeet niet:

  • <usrdir> vervangen

  • <uwdomein.xx> vervangen

Was dit antwoord nuttig? 0 gebruikers vonden dit artikel nuttig (0 Stemmen)

Powered by WHMCompleteSolution