There was a problem loading the comments.

Hoe maak ik een cronjob aan?

Support Portal  »  Helpdesk  »  Viewing Article

  Print
Een cronjob, ook wel een geplande taak genoemd, wordt erg veel gebruikt in de webhosting wereld. Stel, je wil bijvoorbeeld dat een bepaald script die een actie uitvoert, elke nacht stipt om 2 uur uitgevoerd word.
Dan kun je hier een cronjob voor aanmaken die dit exact op het door jou gewenste tijdstip uitvoert.

Waar maak ik de cronjob aan?

e6ae262b3380401552b6bd7d69acaaed454ca1ad7654e637394c85927a1779a07044f1928e61a0cf?t=6233962d4304cb375d289e4d49850959
Je kunt kiezen voor minuut, uur, dag van de
maand, maand en dag van de week (maandag t/m zondag, waarbij de nummers
0 of 7 de zondag aanduiden).
  • Meerdere tijdstippen duid je aan door middel van komma’s. Bijvoorbeeld: 1,2,3 duidt op de minuten 1, 2 en 3.
  • Een bepaalde tijdspanne geef je aan met een koppelteken. Bijvoorbeeld: 5-7 staat voor de minuten 5 t/m 7.
  • Tijdsintervallen geef je aan door middel van een sterretje en een voorwaartse schuine streep. Bijvoorbeeld: */2 staat voor elke 2e minuut.
  • Door gebruik te maken van combinaties kun je een zeer precies schema plannen. Bijvoorbeeld: 1,5,11-15,30-59/2 staat voor de minuten 1, 5, 11 t/m 15 en elke 2e minuut tussen 30 en 59.
  • Met een sterretje (*) kun je een waarde negeren. Als je bijvoorbeeld bij ‘Month’ een sterretje plaatst, wordt de cronjob elke maand uitgevoerd.
  • Vergeet niet om wanneer je alle gegevens heeft ingevoerd te klikken op ‘Add’ (‘Toevoegen’).
Zeer belangrijk is om bij ‘Command’ het volgende in te vullen in het geval van een PHP script :

/usr/local/bin/php -f /home/[gebruikersnaam]/domains/[jouwdomein.nl]/public_html/cronjob.php

Vervang hierbij: [gebruikersnaam] door je DirectAdmin gebruikersnaam en [jouwdomien.nl] door je domeinnaam.

Enkele voorbeelden

  • Minute – de waarde in minuten waarop de cronjob moet worden uitgevoerd. (* is elke minuut)
  • Hour – de waarde in uren waarop de cronjob moet worden uitgevoerd. (* is elk uur)
  • Day of Month – de dag van de maand waarop de cronjob uitgevoerd moet worden. (* is elke dag)
  • Month – de maand waarin de cronjob moet worden uitgevoerd (* is elke maand)
  • Day of Week – de dag van de week waarop de cronjob uitgevoerd moet worden (* is elke dag)
71582ccdbf3f8f38aa9a2ee904603e9d30319376fb8e4fe38dc64bf993a8ffabd897fc7f3d6292f2?t=daf7e068f38d4bfb80ba743facf830b8

In het bovenstaande voorbeeld zorgen we ervoor dat updater.cgi elke dag om 00:00 uur wordt uitgevoerd.
606b5212029afbcdd0ab90fd0fbad082dd473458311f9d3a3fda405f0b8f09a9b1de57204b8716cb?t=ae208aca893fa39e688effc6863a9f15

In dit voorbeeld wordt de cronjob alleen op elke maandag van de 10e maand, elke minuut uitgevoerd.
858fe0267ac206b855e80ab9618bd7b673c3847e367712e9c49649f7053eb6085fee3ddf181c0522?t=2414c6d2fd6cecb586c0f7ef0f7fb2b8

Dit geeft als resultaat dat de cronjob de 1e dag van elke maand om
14:30 uur uitgevoerd wordt, ongeacht de maand of dag van de week.

Flock op onze Cronjobs

Flock zorgt ervoor dat een cron niet dubbel komt te draaien, waardoor
de server minder load krijgt en dus sneller zal zijn. Stel je heb een
cron draaien en deze is dan totaal 3 minuten bezig met zijn acties, maar
in de cronjob zelf staat dat deze elke minuut draait. Dan zal de cron
na een bepaalde tijd, meerdere keren draaien en niet juist functioneren
(zaken blijven dan op elkaar wachten).

Flock maakt een “lock” bestand aan, het lock bestaat altijd. Zodra de
cron draait word het lock bestand vergrendeld op een hoger (kernel)
niveau hierdoor weet hij dat de cron nog draait en zal dus niet opnieuw
starten. Dat lock bestand ziet er als volgt uit (bijv.)
~/cron.lock.zdeyyiaq Deze staat in de home van je eigen gebruiker.

Mocht flock ervoor zorgen dat je cron niet meer goed draait, dan kan
je achter je cron het volgende zetten # noflock (let goed op de spatie
tussen # en noflock)

Related Articles

© iXL Hosting