Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Cronjob of taak aanmaken (en wat te doen als hij niet draait)

Met een cronjob (in DirectAdmin: Cron Taken) laat je een script automatisch op vaste tijden draaien, bijvoorbeeld elke nacht. Hieronder lees je hoe je er een aanmaakt en wat je doet als hij niet werkt.

Regels voor cronjobs

  • Bij Webhost One en Webhost Two mag er hooguit één keer per 10 minuten een taak starten, voor al je taken samen.
  • Bij de Power Webhost-pakketten mogen taken vaker draaien.
  • Verdeel meerdere cronjobs over de tijd en kies een rustig tijdstip, zoals 03:17 in plaats van precies middernacht.
  • Zware cronjobs die de server lang belasten, zijn niet toegestaan. Er draaien meer websites op dezelfde server. Zo nodig stoppen we een cronjob. Houd je taken daarom kort en laat ze niet vaker draaien dan nodig.

Een cronjob aanmaken

  1. Log in op DirectAdmin en klik onder Geavanceerde Functies op Cron Taken.
  2. Klik op Cron taak aanmaken.
  3. Vul de minuut, het uur, de dag, de maand en de dag van de week in. Vul de minuut altijd in met een getal, geen sterretje, anders draait de taak elke minuut.
  4. Vul bij de opdracht het volledige pad in, bijvoorbeeld:
    /usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
    Vervang gebruiker door je DA-gebruikersnaam.
  5. Klik op Aanmaken.
Het formulier voor een nieuwe cron taak in DirectAdmin
Een cron taak aanmaken

Mail na elke cronjob

De uitvoer van een cronjob gaat naar het standaard e-mailaccount van je pakket, zie Het standaard e-mailaccount in DirectAdmin. Je kunt de uitvoer ook naar een eigen adres sturen met Stuur alle cron uitvoer naar e-mail. Wil je geen mail, klik dan bij het aanmaken op Voorkom e-mails, of zet achter de opdracht:

>/dev/null 2>&1

Let op bij PHP-scripts

Een script dat vanuit een cronjob draait, weet niet onder welk domein het draait. $_SERVER['SERVER_NAME'] en $_SERVER['DOCUMENT_ROOT'] zijn leeg, en een include met een relatief pad kan mislukken. Zet daarom bovenaan je script:

$pad = '/home/gebruiker/domains/jouwdomein.nl/public_html';
$_SERVER['SERVER_NAME'] = 'jouwdomein.nl';
$_SERVER['DOCUMENT_ROOT'] = $pad;
set_include_path($pad . PATH_SEPARATOR . get_include_path());

Draait je cronjob niet?

Loop deze punten een voor een na:

  1. Lees de uitvoer. Haal >/dev/null 2>&1 tijdelijk weg en kijk in de mail in het standaard e-mailaccount, of stel een eigen adres in. Daar staat vaak precies wat er misgaat. Je kunt de uitvoer ook naar een logbestand schrijven door achter de opdracht >> /home/gebruiker/cron-log.txt 2>&1 te zetten.
  2. Controleer het pad. De melding Could not open input file betekent dat het pad naar het script niet klopt. Kijk in Bestandsbeheer: het pad begint met /home/gebruiker/domains/.
  3. Controleer de PHP-versie. Met /usr/local/bin/php gebruikt de taak dezelfde PHP-versie als je website. Werkt je script alleen op een andere versie, pas die dan aan bij Select PHP version.
  4. Test de opdracht met de hand. Heb je een pakket met Terminal, plak de opdracht dan daar en kijk wat er gebeurt, zie SSH of de Terminal openen in DirectAdmin. Zonder Terminal open je het script in je browser, of roep je het in de cronjob aan via curl --silent https://www.jouwdomein.nl/taak.php.
  5. Controleer de rechten. Het script moet leesbaar zijn: bestanden horen op 644 te staan en mappen op 755. Zie Rechten van bestanden en mappen (chmod).
  6. Controleer het tijdstip. Kijk bij Cronjob wordt uitgevoerd: of de taak draait wanneer jij denkt. Staat er een sterretje bij de minuut, dan draait hij elke minuut en kan hij worden gestopt.
  7. Controleer de pakketlimiet. Draait de taak vaker dan je pakket toestaat, of duurt hij te lang, dan wordt hij afgebroken. Verdeel het werk dan over meerdere rondes.
DirectAdmin houdt niet bij wanneer een taak heeft gedraaid. Wil je dat zien, zet dan date >> /home/gebruiker/cron-log.txt; voor je opdracht.

Zie ook in de DirectAdmin-handleiding: Het standaard e-mailaccount van je pakket.

Uitgebreide uitleg met schermafbeeldingen: Cron Taken: taken automatisch laten draaien in de DirectAdmin-handleiding.

Was dit artikel nuttig?

← Terug naar Hosting algemeen

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…