4 sätt att kontrollera om cron fungerar på Linux

Cron är en schemaläggare av uppgifter, speciellt utformad för Linux och andra Unix-liknande system. Det är en standardkomponent i de flesta Linux-distributioner och är särskilt användbar för att automatisera återkommande sysslor.

För att säkerställa att cron fungerar som det ska är det viktigt att regelbundet kontrollera dess funktion på ditt system. Detta kan göras på flera sätt, till exempel genom att verifiera cron-tjänstens status, granska cron-loggar, köra ett test-cronjobb och inspektera pågående processer.

Vad är cron?

Cron är en tyst bakgrundstjänst som automatiserar och schemalägger systemuppgifter. Det används ofta av systemadministratörer och utvecklare för att schemalägga uppgifter som kommandon eller shell-skript, så kallade cron-jobb, för att köras regelbundet vid specifika tidpunkter eller med jämna mellanrum.

Cron automatiserar därmed rutinuppgifter inom systemunderhåll och administration som annars skulle behöva utföras manuellt.

Det finns olika implementeringar av cron tillgängliga för Linux. Vilken version som används beror på distributionen. ”Vixie cron”, uppkallad efter sin ursprunglige utvecklare Paul Vixie, är en vanlig och standardversion på Debian- och Ubuntu-system. Arch Linux använder systemd timers istället för en dedikerad cron-demon.

Cronie, en vidareutveckling av Vixie cron, är standardpaketet för Arch Linux. För att installera det, använd pacman:

sudo pacman -S cronie

Starta och aktivera tjänsten med följande kommandon:

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

Du kan kontrollera vilken version av cron som är installerad genom att konsultera manualsidan:

man cron

Hur man kontrollerar att cron fungerar på Linux

Här är några metoder för att verifiera att cron fungerar korrekt:

1. Kontrollera cron-tjänstens status

Ett enkelt sätt att kontrollera om cron fungerar är att kontrollera tjänstens status via systemctl. Öppna terminalen och använd följande kommando:

sudo systemctl status cron

Om utdata liknar det nedan betyder det att cron är aktivt och fungerar som det ska:

Men om cron är inaktivt, vilket visas nedan:

Starta tjänsten med:

sudo systemctl start cron.service

Aktivera sedan tjänsten för automatisk start vid nästa systemuppstart:

sudo systemctl enable cron.service

2. Granska cron-loggar

Ett annat sätt att verifiera cron-funktionalitet är att undersöka loggfilerna. Cron-loggar lagras vanligtvis i /var/log/syslog.

Syslog är ett protokoll som Linux använder för att centralisera händelseloggar. Loggarna används för revisioner, övervakning, felsökning och andra IT-relaterade uppgifter.

Du kan visa cron-jobbloggarna i syslog med följande kommando:

grep 'cron' /var/log/syslog

En liknande utdata indikerar att cron fungerar och loggarna sparas i filen:

Eftersom syslog innehåller många andra systemloggar kan det vara besvärligt att isolera cron-relaterad information. Du kan skapa en separat loggfil för endast cron-relaterade loggar.

I det här exemplet används nanoredigeraren, men du kan använda valfri redigerare.

Öppna följande fil med nano:

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

Leta efter raden som börjar med:

#cron.*

Avkommentera raden genom att ta bort #-tecknet. Spara och stäng filen med Ctrl+X, tryck sedan på Y och enter.

Starta om rsyslog-tjänsten:

sudo service rsyslog restart

Nu sparas loggar i filen cron.log som finns i katalogen /var/log.

Om inga loggar visas i terminalen kan det indikera att cron inte körs. Verifiera i så fall med andra metoder.

3. Köra ett test-cronjobb

Du kan också kontrollera om cron fungerar genom att skapa och köra ett test-cronjobb. Om jobbet utförs korrekt indikerar det att cron fungerar som det ska.

Skapa först ett bash-skript. Bash-skript gör det möjligt att automatisera uppgifter på Linux.

Vi skapar ett bash-skript som skriver ”mitt cronjobb fungerar!” till en TXT-fil. Ta reda på din aktuella arbetskatalog med:

pwd

Skapa en fil i den aktuella katalogen med:

touch file.txt

Skapa sedan en bash-fil med nano:

nano script.sh

Lägg till följande i filen:

#!/usr/bin/bash
echo "mitt cronjobb fungerar!" >> /home/användarnamn/file.txt

Se till att ange rätt sökväg för textfilen. Spara och stäng filen med Ctrl+X, sedan Y och enter.

Ge skriptet exekveringsrättigheter:

chmod +x script.sh

Skapa nu ett cron-jobb för att köra skriptet. Öppna crontab-filen med:

crontab -e

Lägg till följande rad i slutet av filen:

* * * * * /sökväg/till/script.sh

De fem asterisker matchar tidpunkten för körningen. Den första representerar minuter (0-59), den andra timmar (0-23), den tredje dagen i månaden, den fjärde månaden och den femte veckodagen (0-6, 0 är söndag).

Sökvägen till skriptet anges också.

Efter att ha sparat filen visas meddelandet ”crontab: installerar ny crontab”.

Kontrollera att cron-jobbet fungerade genom att visa innehållet i file.txt:

cat file.txt

Detta bekräftar att cron fungerar korrekt.

4. Kontrollera aktiva processer

Ytterligare ett sätt att kontrollera att cron fungerar är att lista systemets pågående processer med kommandot ps. Cron-demonen visas som ”crond”.

ps aux | grep cron

Detta bekräftar att cron körs på ditt system.

Automatisera och schemalägg systemuppgifter med cron

Cron är ett viktigt verktyg på Linux som bidrar till effektiv systemdrift. Det är viktigt att verifiera att cron fungerar korrekt, särskilt vid felsökning av systemproblem.

Du kan verifiera dess funktion genom att granska cron-loggar, undersöka pågående processer och kontrollera tjänstens status med systemctl. Dessutom kan du bekräfta att cron fungerar genom att köra ett testjobb.

En korrekt fungerande cron-demon möjliggör automatisering och schemaläggning av rutinuppgifter. Många cron-jobb skapas automatiskt av installerade applikationer. Genom att automatisera och schemalägga uppgifter förbättras systemets övergripande prestanda och underhålls effektivt.