Wij gaan door tot jij 100% tevreden bent

De technische experts van onze bekroonde klantenservice staan voor je klaar!

Hoe stel ik cronjobs in?

Cronjobs zijn geplande taken die je op een bepaald moment van de dag (of meerdere momenten) automatisch uit kunt laten voeren. Je kunt cronjobs via DirectAdmin aanmaken, wijzigen en verwijderen.

Cronjobs aanmaken

1. Log in op DirectAdmin.

2. Klik onder 'Advanced Features' op 'Cronjobs'.

Klik onder 'Advanced Features' op 'Cronjobs'.

3. Voer de gevraagde gegevens in.

  • Minute, Hour, Day of Month, Month en Day of Week: specificeer de minuut, uur, dag van de maand, maand en dag van de week (respectievelijk) waarop het script uitgevoerd moet worden. De laatste staat voor zondag tot en met zondag. Zondag is 0 of 7. Lees hieronder meer over het invoeren van de tijden.
  • Command: het commando dat uitgevoerd moet worden. Een PHP-script begin je met /usr/local/bin/php. Eventueel kun je op op 'Prevent E-mail' klikken om te voorkomen dat het script e-mails naar jouw hoofde-mailadres stuurt met eventueel uitvoer van dat script (denk aan foutmeldingen). Lees hieronder meer over commando's.

4. Klik op 'Add'.

Klik op 'Add' bij 'Create a New Cron Job'.

Tijden kiezen

Allereerst is het belangrijk dat je geen 'standaardtijd' kiest voor het uitvoeren van je script. Een standaardtijd is bijvoorbeeld ieder heel uur, of ieder kwartier. Tijden als 2:00 en 10:30 zijn dus af te raden. Kies liever een tijd waarop de server het niet druk heeft (meestal tussen 4:00 en 6:00 uur), zoals 4:34 of iets anders willekeurigs. Op die manier wordt de uitvoer verspreid over de gehele dag en is het dus niet druk om bijvoorbeeld 0:00 uur.

Verder moet je een script zo min mogelijk uitvoeren. Een cronjob is meestal erg zwaar voor de server en misbruik van deze functionaliteit kan gevolgen hebben. Verder moet je erop letten dat je een script niet iedere minuut uit laat voeren. Een asterisk (*) bij het minuutveld is dus onacceptabel.

Je kunt in het formulier tijden als volgt invoeren:

2 de tweede minuut, uur, …
1,2 het eerste en tweede minuut, uur, …
* iedere minuut, uur, …
*/2 iedere tweede minuut, uur, …
1-3 de eerste tot en met derde minuut, uur, …
1,*/6,5-9 een combinatie van bovenstaande

Je kunt deze waarden invullen bij alle tijdseenheden, dus bij de minuten, uren, dagen van de maand, maanden en dagen van de week. Wil je bijvoorbeeld een script iedere tweede maand uitvoeren op de eerste maandag van de maand om 4:15 en 9:15, dan kun je het volgende invoeren:

Minute 15 ieder tijdstip is op de vijftiende minuut
Hour 4,9 het vierde en negende uur
Day of Month 1-7 de eerste maandag van de maand moet tussen de eerste en de zevende van de maand zitten
Month */2 iedere tweede maand
Day of Week 1 maandag is nummer 1 (zondag = 0, maandag = 1, …, zaterdag = 6)

Scripts en commando's

Je kunt alleen uitvoerbare bestanden als commando opgeven. Aangezien PHP-scripts geen uitvoerbare bestanden zijn (zie ook de uitleg over bestandsrechten), moet je eerst de PHP-module aanroepen. Deze is te vinden op de locatie: 

/usr/local/bin/php

Een PHP-script in je public_html-map kun je dan aanroepen met het onderstaande commando. Vervang 'deb12345' met je eigen deb-nummer en 'voorbeeld.nl' met je eigen domeinnaam.

/usr/local/bin/php /home/deb12345/domains/voorbeeld.nl/public_html/script.php

Let op de spatie. Let er ook op dat eventuele output van deze scripts naar het primaire e-mailadres wordt gestuurd van jouw pakket (aangeduid door jouw deb-nummer, of in het geval van een gebruiker onder een reseller, de gebruikersnaam). Daarnaast zijn heel veel variabelen anders dan wanneer je voorbeeld.nl/script.php aan zou roepen. Eén van de belangrijkste punten is dat relatieve paden niet zullen werken; je moet absolute paden gebruiken (eventueel met behulp van de variabelen binnen $_SERVER).

Je kunt ook een pagina van buiten aanroepen, alsof iemand de pagina vanaf je website aanroept. Dat kun je doen met het volgende commando. Vervang 'voorbeeld.nl' met je eigen domeinnaam.

/usr/local/bin/wget -O - -q -t 1 https://voorbeeld.nl/script.php

Je omzeilt dan het probleem dat de relatieve paden niet meer kloppen, maar je script kan dan wel door iedereen aangeroepen worden. Bovendien is dit niet geschikt voor een cron die vaker dan 1x per dag uit wordt gevoerd en zou alleen mogen dienen als laatste optie als al het voorgaande niet blijkt te werken. Dataverkeer gegenereerd door dit type cron zal overigens twee keer mee worden gerekend (aangezien de output wordt geüpload en gedownload op dezelfde server).

 

Sterren Domeinnaam: 5 sterren uit 4.254 reviews

320.000+ domeinnamen geregistreerd.
Winnaar beste registrar 2017 en 2018.

Geen cookies