Contents

4 manieren om te controleren of cron werkt onder Linux

cron is een taakplanner voor Linux en Unix-achtige besturingssystemen. Het is voorgeïnstalleerd op alle Linux-distributies en is het meest geschikt voor het automatiseren van terugkerende taken.

Om Cron effectief te laten werken, is het belangrijk om regelmatig te controleren of het hulpprogramma correct werkt op je systeem. Er zijn verschillende methoden om dit te doen, zoals het inspecteren van de status van de Cron-service, het bekijken van logboekbestanden met betrekking tot Cron, het uitvoeren van een gesimuleerde Cron-taak en het opsommen van de momenteel actieve processen op je systeem.

Wat is cron?

Cron is een heimelijk werkpaard dat systeemprocessen autonoom beheert en plant. Met deze taakplanner kunnen gebruikers die software-ecosystemen overzien en onderhouden terugkerende activiteiten organiseren, zoals opdrachtregelinstructies of gescripte programma’s op een vooraf bepaalde tijdlijn of interval.

Cron is een hulpprogramma voor het plannen waarmee repetitieve systeemonderhoudstaken en administratieve taken, die vaak nodig kunnen zijn voor optimale prestaties, kunnen worden geautomatiseerd.

Er bestaan verschillende Cron implementaties voor Linux systemen, waarbij de beschikbaarheid afhangt van de specifieke distributie. Bijvoorbeeld, de veelgebruikte “Vixie cron” - die zijn naam ontleent aan de maker, Paul Vixie - is wijdverspreid en dient als de standaard optie voor distributies zoals Debian en Ubuntu. Het Arch besturingssysteem kiest er daarentegen voor om systemd timers te gebruiken in plaats van een traditionele Cron implementatie.

Cronie is een alternatieve implementatie van het cron-tijdplanner-hulpprogramma Vixie, dat eenvoudig kan worden verkregen via de pakketopslag van Arch Linux door gebruik te maken van de Pacman pakketbeheerder. Om Cronie op je systeem te installeren, kun je het commando “pacman -S cronie” uitvoeren in je terminal of shell-omgeving.

 sudo pacman -S cronie 

Start het vervolgens op en schakel het in met:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service 

Om te bepalen welke versie van cron momenteel op je systeem is geïnstalleerd, kun je de handleidingpagina raadplegen met het commando “man cron”. Dit geeft informatie over de specifieke versie en functies die beschikbaar zijn voor die specifieke installatie van cron.

 man cron 

Hoe te controleren of cron werkt op Linux

Om vast te stellen of het hulpprogramma cron correct werkt, zijn er verschillende methoden om dit te controleren.

Controleer de status van de cron-service op Linux

Om te controleren of de cron-service goed werkt, kun je een fundamenteel Linux-commando gebruiken vanaf de terminal. Om de terminal te openen druk je op “Ctrl \ Alt \ T” op je toetsenbord en gebruik je het commando “systemctl” om de status van cron te controleren.

 sudo systemctl status cron 

De aanwezigheid van de bovenstaande uitvoer geeft aan dat het cron-hulpprogramma goed werkt binnen de beperkingen van je computeromgeving.

/nl/images/cron-status.jpg

Wat gebeurt er echter als Cron inactief is, zoals hieronder weergegeven?

/nl/images/cron-stopped.jpg

Je kunt de service als volgt starten:

 sudo systemctl start cron.service 

Om ervoor te zorgen dat de cron-service automatisch start wanneer het systeem opnieuw wordt opgestart, volg je deze stappen na het opstarten van de service:

 sudo systemctl enable cron.service 

Controleer de cron-logboeken op Linux

Een alternatieve methode om te controleren of de cron-daemon correct functioneert, is het inspecteren van de bijbehorende logboekbestanden, die meestal te vinden zijn in de map /var/log/syslog op een Linux-systeem.

Syslog is een gestandaardiseerd communicatieprotocol dat wordt gebruikt door Linux-gebaseerde systemen voor het consolideren van gebeurtenisloggegevens in een centrale opslagplaats. Deze aggregatie van logs vergemakkelijkt verschillende essentiële IT-operaties zoals het uitvoeren van audits, het implementeren van monitoring- en prestatie-evaluatietechnieken, het oplossen van problemen door middel van probleemoplossing, het genereren van rapporten en het uitvoeren van andere gerelateerde onderhoudsactiviteiten.

Om toegang te krijgen tot het systeemlogboek met cron job records, kun je een specifiek commando als volgt uitvoeren:

 grep 'cron' /var/log/syslog 

Je zou een identiek scherm moeten zien dat de goede werking van de cron daemon bevestigt, evenals het feit dat zijn logs worden opgeslagen in het aangewezen logbestand:

/nl/images/cron-logs.jpg

Om de cron-specifieke logs te isoleren en analyseren binnen de meer uitgebreide systeemlogs die zijn opgeslagen in de syslog map, kan het een uitdaging zijn vanwege de aanwezigheid van aanvullende logboekvermeldingen die niet gerelateerd zijn aan cron taken. Om dit probleem te omzeilen, kan een aanpak waarbij een speciaal logbestand wordt aangemaakt dat alleen bestaat uit cronregels die uit het syslogbestand zijn gehaald, nuttig zijn voor effectief onderzoek en analyse van de gewenste informatie.

In deze illustratie gebruiken we de nano teksteditor als model, maar je bent vrij om elke applicatie te gebruiken die je geschikt vindt voor jouw doeleinden.

Open het volgende bestand met nano:

 nano /etc/rsyslog.d/50-default.conf 

Zoek de regel die begint met:

 #cron.* 

Verwijder het “#” symbool van de volgende regel om het commentaar te verwijderen en volg de volgende instructies om het bestand op te slaan en af te sluiten met behulp van de aangegeven sneltoetsen.

Om de rsyslog-service opnieuw te starten, kunt u de volgende opdracht in uw terminal of opdrachtprompt uitvoeren:csssudo systemctl restart rsyslog.service

 sudo service rsyslog restart 

De logbestanden voor geplande taken worden opgeslagen in de map /var/log , met name in het bestand cron.log .

Als de logboekinterface van je systeem problemen ondervindt bij het verkrijgen van registraties van activiteiten die worden uitgevoerd door een planningshulpprogramma dat bekend staat als “cron”, kan dit erop wijzen dat deze specifieke taakplanner momenteel inactief is. Om te controleren of cron goed werkt, kunnen alternatieve benaderingen gebruikt worden om de werking ervan te valideren.

Een crontaak uitvoeren op Linux

Eén manier om te controleren of de cronfunctie van je systeem goed werkt, is door een eenvoudige testcrontaak te maken en deze uit te voeren. Als de taak met succes wordt uitgevoerd, dan geeft dit aan dat de cron-functionaliteit werkt zoals bedoeld.

Om een reeks commando’s achter elkaar uit te voeren, is het nodig om een Bash script te schrijven, waarmee je repetitieve activiteiten binnen het Linux besturingssysteem kunt automatiseren door middel van programmeertechnieken.

Om een tekstbestand te genereren dat de functionaliteit van een geplande taak in de vorm van een Bash script bevestigt, zullen we het proces starten door de huidige werkdirectory te bepalen door het uitvoeren van een specifiek commando.

 pwd 

Om een nieuw bestand te maken in de bestaande map, kun je de opdracht “touch” gebruiken, gevolgd door het opgeven van de gewenste bestandsnaam en geen argument. Dit genereert een leeg bestand met de opgegeven naam op de huidige locatie.

 touch file.txt 

Hierna wordt aanbevolen om een Bash-script te genereren met de teksteditor Nano.

 nano script.sh 

Voeg de volgende inhoud toe aan het bestand:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt 

/nl/images/bash-file-1.jpg

Zorg ervoor dat je de juiste positie van het gegenereerde tekstbestand opgeeft. Sluit je werk af met “Ctrl + X”, gevolgd door “Y” en druk vervolgens op de “Enter” toets op je toetsenbord.

Geef uitvoerrechten aan het Bash script:

 chmod \\+x script.sh 

Om een geplande taak in te stellen voor het uitvoeren van het script, is het nodig om het crontaakbestand te openen en te bewerken met de volgende opdracht in de terminal of opdrachtprompt:

 crontab -e 

Voeg aan het einde van dit document de volgende verklaring toe.

 * * * * * /path/to/script.sh 

De vervaldatum van het configuratie-item wordt weergegeven door vijf sterretjes, waarbij elk sterretje overeenkomt met verschillende aspecten van de geldigheid. Het eerste sterretje geeft de minuut aan (van 0 tot 59), terwijl het tweede sterretje het uur aangeeft (dat een volledige 24-uurscyclus vertegenwoordigt, zodat 1:00 PM overeenkomt met 13 en middernacht begint bij 0). De derde asterisk symboliseert de dag van de week, van 0 tot 6, waarbij zowel 0 als 6 voor zondag staat. Het vierde sterretje verwijst naar de maand, van 0 tot 7, waarbij 0 staat voor januari en 7 voor juli. De vijfde ster verwijst naar het jaar

Het bestand bevat informatie over de bestandsnaam en het bijbehorende directorypad.

Na het opslaan en afsluiten van het document kan er een melding verschijnen in de opdrachtregelinterface met de tekst “cron job installed.

Om te controleren of de geplande taak met succes is uitgevoerd, navigeert u naar de locatie waar “file.txt” is opgeslagen en geeft u de inhoud ervan weer op de console met de opdracht ‘cat’.

 cat file.txt 

/nl/images/bash-output.jpg

Dit geeft aan dat cron goed werkt.

Lopende processen op Linux controleren

Een alternatieve methode om te controleren of de cron daemon goed werkt, is door een lijst met actieve processen binnen het besturingssysteem te bekijken. Dit kan worden gedaan door gebruik te maken van het commando “ps”, dat informatie weergeeft over alle draaiende processen. In zo’n opsomming zal de cron daemon verschijnen onder de naam “crond.

 ps aux | grep cron 

/nl/images/crond-process.jpg

De bovenstaande verificatie bevestigt de werking van het cron proces binnen je Linux besturingssysteem.

Systeemtaken automatiseren en plannen met cron

Cron is een cruciaal hulpprogramma in het Linux besturingssysteem, waardoor het optimaal kan functioneren. Af en toe, bij het aanpakken van systeemproblemen, kan het nodig zijn om te controleren of Cron operationeel is.

Om vast te stellen of de cron-service correct werkt, zijn er verschillende methoden beschikbaar. Eén optie is het onderzoeken van de logbestanden van cron-activiteiten met behulp van commandoregelprogramma’s zoals “log” of “grep”. Daarnaast kan de lijst met actieve processen op het systeem worden geraadpleegd met tools als “ps” of “top”, die informatie weergeven over alle geplande taken die op dat moment worden uitgevoerd. Verder kan het hulpprogramma “systemctl” gebruikt worden om de operationele status van cron te controleren door de huidige status te bekijken.Tot slot kan het uitvoeren van een cron-testtaak inzicht geven in of deze functioneel is en kan presteren zoals bedoeld.

Cron is een hulpprogramma dat de automatische uitvoering van commando’s of scripts op gespecificeerde intervallen mogelijk maakt, wat het naadloze beheer van dagelijkse systeemtaken vergemakkelijkt. Veel van deze taken worden gegenereerd door software-installaties, waardoor administratieve processen verder gestroomlijnd worden. Door routinematige handelingen te automatiseren en in te plannen kan zowel de efficiëntie als de stabiliteit van het systeem worden geoptimaliseerd, wat bijdraagt aan een algehele prestatieverbetering.