Cronjob instellen

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

crontab -l

Dit commando wordt uitgevoerd met de kleine letter L als argument en toont de door u zelf ingestelde cronjobs. Er zijn ook cronjobs die uitgevoerd worden door de systeemgebruiker. Deze ziet u 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 u 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 u een interval definiëren (elke 5 minuten, bijvoorbeeld). De komma (,) gebruikt u 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

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 u het lastig vindt om de taak op de bovenste manier uit te werken, dan kan deze tool u daar wellicht bij helpen: http://www.crontab-generator.org/

De cron editor

Op ons HPW platform wordt het programma “vim” gebruikt om de crontab te wijzigen. Dit is een editor zonder grafische mogelijkheden. Het gebruik is dan ook even wennen. Er zijn een aantal basiscommando’s die u nodig bent.

Nadat u met “crontab -e” de editor heeft geopend, dan kunt u middels het intoetsen van “i” het wijzigen van de crontab starten. U ziet dan rechts onderin “–INSERT–” staan.

Crontab VI voorbeeld

Wanneer u klaar bent met wijzigen drukt u op de “ESC” toets op uw toetsenbord om het wijzigen te stoppen. Vervolgens toetst u een dubbelepunt (:) gevolgd door de letter “x” in. Druk op de “enter” toets om het bestand te sluiten en de wijzigingen op te slaan.

Indien u bang bent dat u een fout heeft gemaakt, kunt u het bestand het beste sluiten door eerst weer uit de wijzigen modes te gaan met de “ESC” toets, dan een dubbelepunt (:) in te voeren gevolgd door de letter q en een uitroepteken (“q!”). Met de “enter” toets sluit u dan het bestand zonder de wijzigingen op te slaan.

Tot slot

Sommige cronjobs worden centraal uitgerold door ons beheersysteem. Deze zullen automatisch worden hersteld als u wijzigingen in de desbetreffende cronjobs maakt. Indien een door ons ingestelde cronjob aangepast dient te worden, neem dan contact met ons op.