Wat is een Cronjob en wat zijn de mogelijkheden?

Cronjobs zijn taken die geautomatiseerd kunnen worden uitgevoerd op een machine of op een website. Ze worden meestal gebruikt om regelmatige taken uit te voeren zoals het draaien van scripts, het uitvoeren van back-ups en het regelmatig versturen van e-mails. Door gebruik te maken van Cronjobs kun je eenmalige of regelmatig herhalende taken automatiseren. In dit blog leggen wij je uit wat je kunt doen met een cronjob!

Wat is een Cronjob precies?

Een cronjob is een taak die geautomatiseerd wordt uitgevoerd. Het is een soort geplande taak die automatisch wordt uitgevoerd op basis van een tijdschema. Dit is erg handig voor het uitvoeren van taken die op een bepaalde tijd of op regelmatige tijdstippen moeten worden uitgevoerd. Een cronjob maakt gebruik van 'cron' op een Unix/Linux-systeem of op een Windows-server en het volgt een time-based systeem.

Het biedt ook de mogelijkheid om taken automatisch aan te passen en beheren. Een cronjob bestaat uit enkele parameters die moeten worden gebruikt om het systeem onderhouden te houden. Nadat de cronjob is geconfigureerd, wordt het script op de aangegeven tijd uitgevoerd.

Cronjobs kunnen worden gebruikt voor het automatisch verzenden van e-mails, het leegmaken van mappen met oude bestanden of het archiveren en verwijderen van werkbestanden. Er zijn verschillende manieren om cronjobs te installeren, maar de beste manier is om dit te doen via een CRON-tab (crontab). Hier kun je verschillende taken toevoegen aan je cronjob en hiermee je cronjobs herhalen of aanpassen.

Wat zijn de voor- en nadelen van een Cronjob?

Cronjobs zijn een nuttig hulpmiddel bij het plannen van taken of het aanroepen van scripts op een gegeven tijd. Dit maakt het mogelijk om taken op de achtergrond te laten uitvoeren zonder dat de gebruiker het hoeft te weten. Er kleven echter ook een aantal risico’s aan het gebruik van cronjobs.

Voordelen van Cronjobs

Cronjobs zijn handig omdat ze verschillende taken kunnen automatiseren, zoals het bijwerken van een database of het sturen van e-mails. Hierdoor kunnen ze een grote impact op een bedrijf of op de prestaties van een website hebben. Daarnaast kunnen cronjobs op geplande tijdstippen worden uitgevoerd, waardoor dezelfde herhaling wordt voorkomen. Cronjobs kunnen ook nuttig zijn in geval van calamiteiten omdat ze taken op afstand kunnen uitvoeren waardoor gebruikers online of op afstand verbonden kunnen zijn.

Nadelen van Cronjobs

Hoewel cronjobs veel voordelen bieden, zijn er ook enkele nadelen. Ten eerste kunnen cronjobs de prestaties van een systeem beïnvloeden, vooral als er een hoog aantal cronjobs op een zelfde moment worden uitgevoerd. Systemen kunnen hierdoor trager worden als gevolg van een teveel aan actieve cronjobs. Daarnaast kunnen cronjobs ook ongewenste gevolgen hebben als gevolg van gebrekkige of gemanipuleerde scripts. Bijvoorbeeld, als de scripts niet goed zijn geconfigureerd, kunnen de verkeerde bestanden of gegevens worden verwijderd of gewijzigd, waardoor het systeem kan worden gecompromitteerd.

Mogelijkheden en instellen van een Cronjob

Cron gebruikt speciale configuratiebestanden, de zogeheten CronTab-bestanden, die een lijst bevatten van te uitvoeren taken. CronTab staat voor Cron Tabel. Elke regel in het CronTab-bestand wordt beschouwd als een CronJob. Er lijkt steeds op een reeks kolommen die gescheiden zijn door een spatie. Elke regel geeft aan wanneer en hoe vaak een bepaalde opdracht of een bepaald script moet worden uitgevoerd. In een CronTab-bestand worden lege regels of regels die beginnen met # of spaties genegeerd. Regels die beginnen met # worden als commentaar van de gebruiker beschouwd.

Actieve regels in een crontab zijn ofwel het verklaren van een omgevingsvariabele of een CronJob. Commentaar is niet toegestaan in de actieve regels. Het CronTab-bestand kan in een commandoregel in interpreter worden opgeroepen door "crontab -e" in te voeren. De opdrachten in de CronTab-file en hun uitvoering worden gecontroleerd door de Cron-daemon die ze in de achtergrond op de server uitvoeren. Elke CronTab heeft de volgende algemene structuur met zes kolommen, die als een tabel zijn gerangschikt.

De eerste zijn de tijdswaarden waarmee uitvoering van het commando wordt bestuurd:

  • minuut aangegeven als 0 - 59
  • uur aangegeven als 0 - 23
  • dag aangegeven als 1 - 31
  • maand aangegeven als 1 - 12 en dag van de week aangegeven als 0 - 7, waarbij 0 of 7 zondag is.

Voor de tijdswaarden kunnen de opties "" voor uitvoering op elk moment (dus elke minuut, uur, dag, maand of dag van de week), "/n" voor uitvoering elke n (minuten, uur etc.) en "n, x, y" voor de uitvoering van het commando om n, x of y worden gebruikt.

Sommige Cron-implementaties bieden bovendien speciale strings. Deze strings worden gebruikt in plaats van de eerste vijf velden in het CronTab-bestand, waarbij elke string een specifiek frequentie aangeeft:

  • @yearly / @annually: uitvoering eenmaal per jaar om middernacht van 1 januari (0 0 1 1 *)
  • @monthly: uitvoering eenmaal per maand om middernacht van de eerste dag van de maand (0 0 1 * *)
  • @weekly: uitvoering eenmaal per week om middernacht van de zondag (0 0 * 0) @daily: uitvoering eenmaal per dag om middernacht (0 0 * *)
  • @hourly: uitvoering aan het begin van elk uur (0 * * * *)
  • @reboot: eenmalige uitvoering bij het opstarten van het systeem.

Meer weten? Lees hier meer over het instellen van Cronjobs.

Je hebt in dit blogartikel geleerd over de basis van Cronjobs. Het gebruik van Cronjobs is erg handig en door ze slim in te zetten kan je veel tijd besparen.

Bekijk ook
Meld je aan voor onze nieuwsbrief
Bekijk ook
Meld je aan voor onze nieuwsbrief
Zo ben je altijd als eerste op de hoogte
Heeft dit artikel je geholpen?