Contents

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

cron är en jobbschemaläggare för Linux och Unix-liknande operativsystem. Den är förinstallerad i alla Linux-distributioner och lämpar sig bäst för att automatisera repetitiva uppgifter.

För att Cron ska fungera effektivt är det viktigt att regelbundet kontrollera att verktyget fungerar korrekt på ditt system. Det finns flera metoder för att göra detta, t.ex. genom att kontrollera status för Cron-tjänsten, granska loggfiler relaterade till Cron, köra ett simulerat Cron-jobb och räkna upp de processer som för närvarande är aktiva på ditt system.

Vad är cron?

Cron är en dold arbetshäst som hanterar och schemalägger systemprocesser självständigt. Denna uppgiftsschemaläggare gör det möjligt för användare som övervakar och underhåller programvaruekosystem att organisera återkommande aktiviteter som kommandoradsinstruktioner eller skriptprogram på en förutbestämd tidslinje eller intervall.

Cron är ett schemaläggningsverktyg som möjliggör automatisering av repetitivt systemunderhåll och administrativa uppgifter, som kan krävas ofta för optimal prestanda.

Det finns flera Cron-implementeringar för Linux-system, med tillgänglighet beroende på den specifika distributionen. Till exempel är den allmänt använda “Vixie cron” - som har fått sitt namn från sin skapare, Paul Vixie - utbredd och fungerar som standardalternativ för distributioner som Debian och Ubuntu. Operativsystemet Arch väljer däremot att använda systemd-timers istället för en traditionell Cron-implementering.

Cronie är en alternativ implementering av Vixie cron time-scheduling utility, som enkelt kan erhållas via Arch Linux paketarkiv genom att använda Pacman-pakethanteraren. För att installera Cronie på ditt system kan du köra kommandot “pacman -S cronie” i din terminal eller skalmiljö.

 sudo pacman -S cronie 

Starta och aktivera den sedan med:

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

För att avgöra vilken version av cron som för närvarande är installerad på ditt system kan du använda kommandot “man cron” på dess manualsida. Där finns information om den specifika version och de funktioner som finns tillgängliga för just den installationen av cron.

 man cron 

Hur man kontrollerar om cron fungerar på Linux

Det finns flera metoder för att kontrollera om cron-verktyget fungerar korrekt.

Kontrollera status för cron-tjänsten i Linux

För att kontrollera om cron-tjänsten fungerar korrekt kan man använda ett grundläggande Linux-kommando från terminalen. För att komma åt terminalen trycker du på “Ctrl \+ Alt \+ T” på tangentbordet och använder sedan kommandot “systemctl” för att bedöma statusen för cron.

 sudo systemctl status cron 

Förekomsten av ovan nämnda utdata är ett tecken på att cron-verktyget fungerar korrekt inom de begränsningar som gäller för din datormiljö.

/sv/images/cron-status.jpg

Men vad händer när Cron är i viloläge, som i bilden nedan?

/sv/images/cron-stopped.jpg

Du kan starta tjänsten på följande sätt:

 sudo systemctl start cron.service 

Om du vill att cron-tjänsten ska starta automatiskt när systemet startas om följer du dessa steg efter att du har startat tjänsten:

 sudo systemctl enable cron.service 

Kontrollera cron-loggar på Linux

En alternativ metod för att kontrollera att cron-daemon fungerar korrekt är att inspektera dess tillhörande loggfiler, som vanligtvis finns i katalogen /var/log/syslog på ett Linux-system.

Syslog är ett standardiserat kommunikationsprotokoll som används av Linux-baserade system för att konsolidera händelseloggdata i ett centralt arkiv. Sammanställningen av loggar underlättar olika viktiga IT-verksamheter, t.ex. revisioner, implementering av övervaknings- och prestandautvärderingstekniker, problemlösning genom felsökning, generering av rapporter och andra relaterade underhållsaktiviteter.

För att komma åt systemloggen som innehåller cron-jobbsposter kan du utföra ett specifikt kommando enligt följande:

 grep 'cron' /var/log/syslog 

Du kan förvänta dig att se en identisk display som bekräftar att cron-daemon fungerar korrekt, samt att dess loggar registreras i den angivna loggfilen:

/sv/images/cron-logs.jpg

För att isolera och analysera de cron-specifika loggarna inom de mer omfattande systemloggarna som lagras i syslog-mappen, kan det vara svårt på grund av förekomsten av ytterligare loggposter som inte är relaterade till cron-uppgifter. För att kringgå detta problem kan en metod som innebär att man skapar en särskild loggfil som enbart innehåller cron-poster som extraherats från syslog-filen vara till nytta för effektiv granskning och analys av den önskade informationen.

I den här illustrationen använder vi textredigeraren nano som modell, men du är fri att använda vilket program som helst som du tycker är lämpligt för dina ändamål.

Öppna följande fil med nano:

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

Leta reda på raden som börjar med:

 #cron.* 

Ta bort symbolen “#” från följande rad för att kommentera den, och följ de efterföljande instruktionerna för att spara och avsluta filen med de angivna tangentbordsgenvägarna.

Om du vill starta om tjänsten rsyslog kan du utföra följande kommando i terminalen eller kommandotolken:csssudo systemctl restart rsyslog.service

 sudo service rsyslog restart 

Loggfilerna för schemalagda uppgifter sparas i katalogen /var/log , särskilt i filen cron.log .

Om systemets gränssnitt för logghämtning har svårt att få fram uppgifter om aktiviteter som utförs av ett schemaläggningsverktyg som kallas “cron”, kan det tyda på att detta specifika schemaläggningsprogram för närvarande är vilande. För att kontrollera om cron fungerar korrekt kan du använda alternativa metoder för att validera dess funktion.

Köra ett cron-jobb på Linux

Ett sätt att kontrollera att cron-funktionen i ditt system fungerar effektivt är att skapa ett enkelt test-cron-jobb och exekvera det. Om jobbet framgångsrikt slutför sin angivna uppgift, indikerar det att cron-funktionen fungerar som avsett.

För att utföra en serie kommandon i följd är det nödvändigt att skriva ett Bash-skript, som gör det möjligt att automatisera repetitiva aktiviteter i Linux-operativsystemet genom programmeringstekniker.

För att generera en textfil som bekräftar funktionaliteten hos en schemalagd uppgift i form av ett Bash-skript, ska vi inleda processen genom att bestämma den aktuella arbetskatalogen genom att utföra ett specifikt kommando.

 pwd 

För att skapa en ny fil i den befintliga katalogen kan du använda kommandot “touch” följt av att ange önskat filnamn och inget argument. Detta genererar en tom fil med det angivna namnet på den aktuella platsen.

 touch file.txt 

Efter detta rekommenderar vi att du skapar ett Bash-skript med hjälp av textredigeraren Nano.

 nano script.sh 

Lägg till följande innehåll i filen:

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

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

Se till att du anger den exakta positionen för den genererade textfilen. Avsluta ditt arbete genom att trycka på “Ctrl \+ X”, följt av “Y” och därefter trycka på “Enter” på tangentbordet.

Ge exekveringsbehörighet till Bash-skriptet:

 chmod \\+x script.sh 

För att skapa en schemalagd uppgift för att köra skriptet är det nödvändigt att komma åt och redigera filen cron-jobb med följande kommando i terminalen eller kommandotolken:

 crontab -e 

I slutet av detta dokument, vänligen infoga följande uttalande.

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

Konfigurationsobjektets utgångsdatum representeras av fem asterisker, där varje asterisk motsvarar olika aspekter av dess giltighet. Den första asterisken anger minuten (från 0 till 59), medan den andra asterisken anger timmen (representerar en 24-timmarscykel, så att 1:00 PM motsvarar 13 och midnatt börjar på 0). Den tredje asterisken symboliserar veckodagen och sträcker sig från 0 till 6, där både 0 och 6 representerar söndag. Den fjärde asterisken avser månaden och sträcker sig från 0 till 7, där 0 motsvarar januari och 7 juli. Slutligen står den femte asterisken för året

Filen innehåller information om filnamnet och dess motsvarande katalogsökväg.

När du har slutfört uppgiften att spara och stänga av dokumentet kan du se ett meddelande i kommandoradsgränssnittet som lyder “cron-jobb installerat.

För att kontrollera om den schemalagda uppgiften har utförts korrekt, gå till den plats där “file.txt” lagras och visa dess innehåll på konsolen med hjälp av kommandot “cat”.

 cat file.txt 

/sv/images/bash-output.jpg

Detta indikerar att cron fungerar bra.

Kontrollera pågående processer på Linux

En alternativ metod för att kontrollera att cron-daemon fungerar effektivt är att granska en lista över aktiva processer i operativsystemet. Detta kan åstadkommas genom att använda kommandot “ps”, som visar information om alla processer som körs. I en sådan uppräkning kommer cron-daemon att visas under namnet “crond.

 ps aux | grep cron 

/sv/images/crond-process.jpg

Ovanstående verifiering visar att cron-processen är aktiv i ditt Linux-operativsystem.

Automatisera och schemalägg systemuppgifter med cron

Cron är ett viktigt verktyg i Linux-operativsystemet, som gör att det kan fungera optimalt. Ibland kan det vara nödvändigt att kontrollera om Cron fungerar när man hanterar systemproblem.

För att kontrollera om cron-tjänsten fungerar korrekt finns det flera tillgängliga metoder. Ett alternativ är att undersöka loggfilerna för cron-aktiviteter med hjälp av kommandoradsverktyg som “log” eller “grep”. Dessutom kan man konsultera listan över aktiva processer på sitt system med verktyg som “ps” eller “top”, som visar information om eventuella schemalagda uppgifter som körs för närvarande. Dessutom kan verktyget “systemctl” användas för att verifiera att cron fungerar genom att observera dess aktuella status.Slutligen kan ett försök att exekvera en test-cron-uppgift ge insikt i om den är funktionell och kan fungera som avsett.

Cron är ett verktyg som möjliggör automatisk körning av kommandon eller skript vid angivna intervall, vilket underlättar sömlös hantering av dagliga systemuppgifter. Många av dessa uppgifter genereras av programvaruinstallationer, vilket ytterligare effektiviserar administrativa processer. Genom att automatisera och schemalägga rutinåtgärder kan både effektivitet och systemstabilitet optimeras, vilket bidrar till en övergripande förbättring av prestandan.