Hoe maak ik een cronjob aan


Log in op het Directadmin controlpanel

Ga naar "Advanced Features" ---> "Cron Jobs"

 

De cron is als volgt opgebouwd:

eerste gedeelte het tijdstip, bv

7 14 * * *

daarna het pad naar de binary:

/usr/bin/php

dan volgt eventueel parameters van de binary:

-f

daarna volgt het commando wat je wilt uitvoeren:

/home/usernaam/domains/domeinnaam.nl/public_html/naam_van_php_bestand.php

afgesloten kan worden met een commando dat je geen mail wilt ontvangen als de cron is uitgevoerd:

>/dev/null 2>&1

 

Stel je wilt dagelijks om 14:07 uur een php script laten uitvoeren via een cronjob, dan wordt de cronjob als volgt:

 

Mogelijkheid 1: via php

7 14 * * * /usr/bin/php -f /home/usernaam/domains/domeinnaam.nl/public_html/naam_van_php_bestand.php >/dev/null 2>&1

 

Mogelijkheid 2: via wget

7 14 * * * /usr/bin/wget -O /dev/null -q http://domeinnaam.nl/naam_van_php_bestand.php >/dev/null 2>&1

 

Mogelijkheid 3: via curl

7 14 * * * /usr/bin/curl http://domeinnaam.nl/naam_van_php_bestand.php >/dev/null 2>&1

 

Het vermelde pad is correct voor een server met DirectAdmin!

 

Hier volgen een paar voorbeelden voor het instellen van de tijden:

Elke dag om 14:00 uur laten uitvoeren: 0 14 * * *

Elk heel uur laten uitvoeren: 0 * * * *

Elke 30 minuten laten uitvoeren: */30 * * * *

Elke 2 uur om 7 over het uur laten uitvoeren: 7 */2 * * *

Elke zaterdag om 15.12 laten uitvoeren: 12 15 * * 6

 

Welke cron gebruik jij?

- als u enkel een php bestand hoeft uit te voeren/starten gebruikt u optie 1, hier kan je geen externe parameters meegeven, alle waardes moeten in het php bestand staan.

- indien je een bestand wilt downloaden gebruikt je optie 2, het bestand wordt in de root van je pakket geplaatst. Deze optie is niet echt geschikt voor het oproepen of starten van een script

- indien optie 1 niet werkt of je moet parameters meegeven gebruikt je optie 3, optie 3 simuleert als ware dat de link bezocht wordt via een browser. Hier moet dus een link staan wat je normaal in de adres balk van jouw browser ingeeft.

 

Tip:

Gebruik zoveel mogelijk de php optie(1) en plaats altijd het commando >/dev/null 2>&1 achter het commando, op sommige server kan dit ook via een knop "prevent mail". Met dit commando voorkomt u dat er elke keer als de cron wordt uitgevoerd er een mail naar uw hoofd account wordt gestuurd en zo uw mailbox volloopt. Dit commando voorkomt **niet** een eventueel aanwezig mail opdracht in het php bestand zelf!

Zie voor een uitgebreide uitleg de volgende website: http://www.cronjob.nl/

Note:

Het is uitdrukkelijk niet toegestaan om cron entries uit te voeren met pauzes van minder dan 15 minuten!.

Was dit antwoord nuttig?

 Print dit artikel

Gerelateerde artikelen

Hoe kan ik een cronjob instellen in Directadmin

Mijn ingestelde cronjob werkt niet, hoe kan dit

Je heb een cronjob ingesteld en deze werkt niet, open je dit zelfde bestand via de browser werkt...