4 måder at kontrollere, om cron virker på Linux

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.

Der er flere implementeringer tilgængelige på Linux. Den version, du har, afhænger af din distribution. “Vixie cron,” opkaldt efter dens oprindelige udvikler, Paul Vixie, er almindelig og standard på Debian og Ubuntu. Arch har ikke nogen version af cron til fordel for systemd timere.

cronie er en gaffel af Vixie cron, der er tilgængelig som en standard Arch-pakke. For at installere det, brug pacman:

 sudo pacman -S cronie 

Start og aktiver det derefter med:

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

Du kan se, hvilken version af cron, der er installeret på dit system, ved at slå dets manpage op:

 man cron 

Sådan kontrolleres, om cron virker på Linux

Her er nogle af måderne, du kan kontrollere, om cron fungerer korrekt:

  Sådan ændres brugerdata med chfn og usermod på Linux

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 brug systemctl-kommandoen til 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 systemctl start cron.service 

Når du har startet cron-tjenesten, skal du aktivere den, så den starter, hver gang systemet genstarter:

 sudo systemctl enable cron.service 

2. Tjek cron-logfiler på Linux

En anden måde at kontrollere, om cron fungerer korrekt, er ved at undersøge logfilerne. cron-logfiler er gemt i mappen /var/log/syslog 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.

I dette eksempel vil vi bruge nano-editoren, men du kan bruge enhver editor, du føler dig tryg ved.

  Sådan spiller du Trine 3 på Linux

Åbn følgende fil ved hjælp af nano:

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

Find linjen, der starter med:

 #cron.* 

Fjern kommentaren til denne linje ved at fjerne hash-tegnet (#). Gem og afslut derefter filen ved at trykke på Ctrl + X, tryk derefter på Y og tryk på Enter.

Genstart rsyslog-tjenesten ved at udstede denne kommando:

 sudo service rsyslog restart 

Du vil nu modtage logfiler i cron.log-filen, der er placeret i mappen /var/log.

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.

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.

Du skal 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:

 touch file.txt 

Efter dette skal du oprette en Bash-fil ved hjælp af nano:

 nano script.sh 

Tilføj følgende indhold til filen:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.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 tryk på Enter.

Giv udførelsestilladelser til Bash-scriptet:

 chmod +x script.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/to/script.sh 

De fem stjerner matcher tidspunktet for udførelsen, hvor den første stjerne repræsenterer minutterne (0-59), den anden repræsenterer timer (i 24-timers tid, så kl. 13.00 er 13, midnat starter kl. 0), tredje stjerne betyder dagen (0-7, 0 og 7 er søndag), den fjerde angiver måneden, og den sidste stjerne angiver året.

  Sådan installeres Python i Ubuntu Linux (4 metoder)

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”-meddelelse på terminalen.

For at kontrollere, om cron-jobbet virkede eller ej, skal du gå til mappen file.txt og udskrive dets indhold på terminalen ved hjælp af cat:

 cat file.txt 

Dette indikerer, at cron fungerer fint.

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 at bruge ps-kommandoen. Cron-dæmonen vil dukke op i outputtet som crond.

 ps aux | grep cron 

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 applikationer. Automatisering og planlægning af opgaver forbedrer den overordnede systemydelse og holder den sund.