Wil je processen op ‘gezette tijden’ starten? Dan gebruik je Cronjob als programma. Het instellen van cronjobs kun je zelf doen op onze HPW server. In dit artikel geven we graag informatie over hoe je dit precies doet, zodat je zelf gemakkelijk jouw processen kunt plannen.
Wat is Cronjob?
Een cronjob (of crontab) is een commando dat een proces op een bepaalde tijd uitvoert. Dit kan een programma of script zijn. Deze cronjobs worden vaak gebruikt voor Linux/Unix systemen en zijn uit te voeren op onze high performance webhosting servers.
Hoe stel je Cronjob in?
Op Linux/Unix systemen wordt gebruik maakt van crontab, een programma welke op gezette tijden processen kan starten. Een cronjob wordt ook wel een “geplande taak” genoemd binnen Windows systemen. Sommige pakketten vereisen het instellen van cronjobs voor een goede werking. Het instellen van cronjobs op een HPW server kunt u zelf doen. Hieronder enkele voorbeelden.
Crontab zelf instellen
crontab -l
Dit commando wordt uitgevoerd met de kleine letter L als argument en toont de door jou zelf ingestelde cronjobs. Er zijn ook cronjobs die uitgevoerd worden door de systeemgebruiker. Deze zie je niet in dit overzicht terug. Het commando doet verder niets anders dan de regels op het scherm tonen.
crontab -e
Wijzig de crontab. Hoewel het instellen relatief eenvoudig is, zijn er wel een aantal zaken waarmee je rekening dient te houden. De mogelijkheden van een cronjob zijn vrij uitgebreid. De opbouw van een cronjob ziet er als volgt uit:
* * * * * /pad/naar/script
| | | | |-- Dag van de week (0-6 waarbij de 0 voor de zondag staat)
| | | |---- Maand (1-12)
| | |------ Dag van de maand (1-31)
| |-------- Uur (0-23)
|---------- Minuut (0-59)
Met een forward-slash ( / ) kun je een interval definiëren (elke 5 minuten, bijvoorbeeld). De komma (,) gebruik je om verschillende momenten op te geven.
De toevoeging “>/dev/null 2>&1” onderdrukt elke vorm van output (bijvoorbeeld foutmeldingen). Voor cronjobs is dit wenselijk omdat er niets met de output gedaan kan worden.
Voorbeelden van het instellen van een cronjob
Voer elke dag om 19:00 het script “cron.php” uit:
0 19 * * * php -q /var/hpwsites/u_gebruiker/website/html/webroot/cron.php >/dev/null 2>&1
Voer het script “cron.php” elke dinsdag en vrijdag om middernacht uit:
0 0 * * 2,5 php -q /var/hpwsites/u_gebruiker/website/html/webroot/cron.php >/dev/null 2>&1
Voer elke 15 minuten het script “cron.php” uit:
*/15 * * * * php -q /var/hpwsites/u_gebruiker/website/html/webroot/cron.php >/dev/null 2>&1
Voer elke twee even maanden, elke werkdag op de even uren het script “cron.php” uit:
* 1-23/2 * */2 1-5 php -q /var/hpwsites/u_gebruiker/website/html/webroot/cron.php >/dev/null 2>&1
Wanneer je het lastig vindt om de taak op de bovenste manier uit te werken, dan kan deze tool je daar wellicht bij helpen:
http://www.crontab-generator.org/
De cron editor
Het is mogelijk dat je gebruik maakt van ons high performance webhosting server. Deze servers maken gebruik van
vim om wijzigingen aan te brengen aan de crontab. Deze editor komt zonder grafische assistentie, daarom is het handig om te weten hoe je dit precies gebruikt. Wij bespreken hier kort de basis commando’s.
Nadat je met “crontab -e” de editor heeft geopend, dan kun je middels het intoetsen van “i” het wijzigen van de crontab starten. Je ziet dan rechts onderin “–INSERT–” staan.
Wanneer je klaar bent met wijzigen druk je op de “ESC” toets op uw toetsenbord om het wijzigen te stoppen. Vervolgens toets je een dubbele punt (:) gevolgd door de letter “x” in. Druk op de “enter” toets om het bestand te sluiten en de wijzigingen op te slaan.
Indien jd bang bent dat er een fout gemaakt is, kun je het bestand het beste sluiten door eerst uit de wijzigen modes te gaan met de “ESC” toets, dan een dubbele punt (:) in te voeren, gevolgd door de letter q en een uitroepteken (“q!”). Met de “enter” toets sluit je dan het bestand zonder de wijzigingen op te slaan.
Sommige cronjobs worden centraal uitgerold door ons beheersysteem. Deze worden automatisch hersteld als je wijzigingen in de desbetreffende cronjobs maakt. Indien een ingestelde cronjob aangepast dient te worden, neem dan contact met ons op..