| Cronjobs, Crontab |
|
| Written by Quzart | |
| Wednesday, 20 February 2008 16:19 | |
|
Crontab is van oorsprong een Unix programa, inmiddels is er wel voor elke OS een variant. Cronjob staat voor het op een vaststaant tijdstip uitvoeren van een commando. Dit kan elke minuut zijn, alleen op vrijdag, of elke maand, je kan het helemaal zelf kiezen.
WebsitesIn de Control Panel van een website hosting zit meestal wel een gedeelte genaamd: 'Cronjob' of 'Crontab'. Dit isa het gedeelte waar je moet zijn. Maak een nieuwe crontab aan, en vul daar in wanneer je wilt dat ie moet draaien, en welk commando hij moet uitvoeren. Tijd syntaxAls je de tijd moet invullen dan heb je meestal 5 vakjes: Minutes, Hours, Day of Month, Month, Day of Week. Bij minutes kun je de waardes 0-59 invullen, Hours: 0-23, Day of Month: 0-31, Month: 1-12, Day of Week 0-7 (Zondag is 0 of 7, maakt uit welke je doet. ). OperatorsElke, als je elke dag wilt dan voer je daar een asterix in ('*') Je kan ook een lijst met waardes geven met de comma (','). Bijvoorbeeld: "0,15,30,45". Als je dat bij minutes invult dan gaat ie om het kwatier uitvoeren. Met het streepje ('-') geef je een reeks aan. Wil je bijvoorbeeld dat ie elke minuut van 30 to 35 iets uitvoert dan gebruik je deze "30-35". Dat is dus hetzelfde als "30,31,32,33,34,35". En dan nog een hele rare de slash ('/'). Daar mee kun je bepaalde tijdstippen skippen. Bijvoorbeeld als je iets elk kwatier iets wil uitvoeren dan kun je dit bij minuten geven: "*/15". Hij pak dan elke 15e waarde die door de asterix gegeven is. VoorbeeldJe wilt dat in de eerste helft van het jaar en in november, steeds om de dag, van 8 tot 11 uur 's ochtends op elke 3e minuut een commando uitvoert. Dan krijg je dit: "*/3", "8-11", "*/2", "1-6, 11" CommandoMaar wat vul je dan bij commando in? Hier kun je een shell command geven die de server dan uitvoert. Wil je bijvoorbeeld het php scriptje uitvoeren dat in de map /home/quzart/script/myscript.php staat? Dan kun je dit invullen: "php -f /home/quzart/script/myscript.php". Je geeft dan de PHP cli op dat ie het scriptje dat in myscript.php staat moet uitvoeren. Soms moet je het volledige pad opgeven naar PHP, meestal is dit "/usr/local/bin/php -f /home/quzart/script/myscript.php". Bij mijn hosting krijg ik elke keer een mailtje met daarin wat het PHP command heeft 'geprint'. Wat er dus eigenlijk op het scherm zou komen te staan. CrontabHet programma dat op de server draait is waarschijnlijk crontab. Dit programma zit in vrijwel all *nix packages die er te krijgen zijn. Draai je zelf op Linux dan kun je je crontab met het commando "crontab -e"veranderen. Op elke regel staat een nieuwe crontab, een hekje ('#') is commentaar. Zo deel je je regels in:
# +---------------- minute (0 - 59)Ook kijkt de crontab daemon bij het starten van de computer in de homedirectory van elke gebruiker op files met *.crontab . Deze files worden dan in de crontab gezet, totdat de computer weer uitgaat.
|
|
| Last Updated ( Wednesday, 20 February 2008 16:24 ) |