cron er en jobplanlægger til Linux og Unix-lignende operativsystemer. Det kommer forudinstalleret på alle Linux-distributioner og er mest velegnet til automatisering af gentagne opgaver.
For at cron kan fungere korrekt, skal du med jævne mellemrum kontrollere, at værktøjet kører fint på dit system. Du kan gøre det på fire forskellige måder, herunder at kontrollere cron-servicestatus, undersøge cron-logfiler, køre et test-cron-job og liste kørende processer på dit system.
Hvad er cron?
Den tavse jobbehandler, cron, automatiserer og planlægger systemopgaver. Brugere, der konfigurerer og vedligeholder softwaremiljøer, gør brug af cron til at planlægge job såsom kommandoer eller shell-scripts – også kaldet cron jobs – til at køre periodisk på faste tidspunkter eller intervaller.
cron automatiserer systemvedligeholdelse eller administrationsopgaver, som du muligvis skal udføre ofte.
Sådan kontrolleres, om cron virker på Linux
Her er nogle af måderne, du kan kontrollere, om cron fungerer korrekt:
Metode 1: Tjek cron Service Status på Linux
En måde at kontrollere, om cron virker, er ved at kontrollere status for cron-tjenesten ved at køre en grundlæggende Linux-kommando. Åbn Linux-terminalen ved at trykke på Ctrl + Alt + T og bruge systemctl kommandoen for at kontrollere status for cron:
sudo systemctl status cron
Hvis du ser følgende output, betyder det, at cron er aktiv og kører fint på dit system.
Men hvad hvis cron er i en inaktiv tilstand som vist nedenfor?
Du kan starte tjenesten sådan her:
sudo service cron Start
Når du har startet cron-tjenesten, skal du aktivere den, så den starter, hver gang systemet genstarter:
sudo service cron aktivere
Metode 2: Tjek cron-logfiler på Linux
En anden måde at kontrollere, om cron fungerer korrekt, er ved at undersøge logfilerne. cron logs gemmes i /var/log/syslog mappe på Linux.
syslog er en protokol, som Linux-systemer bruger til at centralisere hændelsesdatalogfiler. Der tilgås logfiler for at udføre revisioner, overvågning, fejlfinding, rapportering og andre nødvendige IT-driftsopgaver.
Du kan se cron-jobloggene i syslog-filen ved at udføre følgende kommando:
grep CRON /var/log/syslog
Du vil se et lignende output, der indikerer, at cron kører fint, og dets logfiler bliver gemt i logfilen:
Da syslog-mappen indeholder andre systemlogfiler sammen med cron-logfilerne, kan det være lidt vanskeligt kun at undersøge de cron-relaterede logfiler i filen. Du kan løse dette ved at oprette en separat logfil, der kun gemmer cron-poster, der vises i syslog-filen.
For at gøre det skal du åbne følgende fil ved hjælp af nano-editoren:
nano /etc/rsyslog.d/50-Standard.conf
Find linjen, der starter med:
#cron.*
Fjern kommentaren til denne linje ved at fjerne hashen (#) skilt. Gem og afslut derefter filen ved at trykke på Ctrl + X, og tryk derefter på Y og ramte Gå ind.
Genstart rsyslog-tjenesten ved at udstede denne kommando:
sudo service rsyslog genstart
Du vil nu modtage logs i cron.log fil placeret i /var/log vejviser.
Hvis din terminal ikke kan hente nogen logfiler, kan det betyde, at cron ikke kører. I så fald skal du bekræfte, om cron virker eller ikke bruger andre metoder.
Metode 3: Kørsel af et cron-job på Linux
Du kan også kontrollere, om cron fungerer, ved blot at oprette et test-cron-job og udføre det. Hvis jobbet lykkes med at udføre opgaven, betyder det, at det fungerer fint.
Det skal du først oprette et Bash-script. Bash-scripting giver dig mulighed for at automatisere hverdagsopgaver på Linux.
Lad os oprette et Bash-script, der vil udskrive "mit cronjob fungerer!" ind i en TXT-fil. For at oprette filen skal du først finde ud af din nuværende arbejdsmappe ved hjælp af denne kommando:
pwd
Opret en fil i den aktuelle mappe ved hjælp af berøringskommandoen:
røre vedfil.txt
Efter dette skal du oprette en Bash-fil ved hjælp af nano:
nanomanuskript.sh
Tilføj følgende indhold til filen:
#! /usr/bin/bash
ekko "mit cronjob virker!" >> /home/usernavn/fil.txt
Sørg for at angive den korrekte placering af den tekstfil, du har oprettet. Gem og afslut filen ved at trykke på Ctrl + X, derefter Y, og ramte Gå ind.
Giv udførelsestilladelser til Bash-scriptet:
chmod +xmanuskript.sh
Opret nu et cron-job for at udføre scriptet. For at gøre det skal du åbne crontab-filen med:
crontab -e
Indtast følgende linje i slutningen af filen.
* * * * * /path/til/script.sh
De fem stjerner svarer til tidspunktet for udførelsen, hvor den første stjerne repræsenterer minutterne, den anden repræsenterer timer, den tredje stjerne betyder dagen, den fjerde angiver måneden, og den sidste stjerne angiver året.
Navnet på den eksekverbare fil og dens sti er også nævnt i filen.
Efter at have gemt og lukket filen, vil du se en "crontab: installerer ny crontab” besked på terminalen.
For at kontrollere, om cron-jobbet virkede eller ej, skal du gå til biblioteket med file.txt og udskriv dets indhold på terminalen ved hjælp af cat:
katfil.txt
Dette indikerer, at cron fungerer fint.
Metode 4: Tjek kørende processer på Linux
En anden måde, du kan kontrollere, om cron-dæmonen virker, er ved at liste de kørende processer på dit system. Du kan opnå dette ved hjælp af ps-kommandoen. Cron-dæmonen vil dukke op i outputtet som crond.
ps -ef | grep crond
Dette bekræfter, at cron-processen kører på dit Linux-system.
Automatiser og planlæg systemopgaver med cron
cron er et af de mest vitale værktøjer på Linux, der gør det muligt for systemet at fungere effektivt. Nogle gange skal du kontrollere, om cron fungerer, mens du fejlfinder systemproblemer.
Du kan opnå dette ved enten at tjekke cron-logfiler eller se de kørende processer på dit system. Du kan også kontrollere cron-statussen ved hjælp af systemctl-værktøjet. Udover det kan kørsel af et test cron-job også fortælle dig, om tjenesten kører eller ej.
Den glatte funktion af cron giver dig mulighed for at automatisere og planlægge hverdagens systemjob. De fleste af cron-jobbene oprettes automatisk af installerede programmer. Automatisering og planlægning af opgaver forbedrer den overordnede systemydelse og holder den sund.