crontab

Hur man ställer in Cron-jobb i Linux

Hur man ställer in Cron-jobb i Linux
Automatisering och schemaläggning av upprepade uppgifter på skrivbord och servrar förbättrar produktiviteten och minskar manuell intervention och övervakning. Många sådana verktyg finns för Linux och en av de mest använda bland dem är "cron".

Den här artikeln kommer att förklara schemaläggningsuppgifter och köra skript med jämna mellanrum med cron-jobb.

Vad är Cron?

Cron är ett schemaläggningsprogram som körs i bakgrunden som en process. Den kan användas för att regelbundet köra vissa jobb som är schemalagda med hjälp av dess fördefinierade uppsättning regler. Cron levereras förinstallerat på de flesta Linux-distributioner eller finns i förvaret för att installeras manuellt.

Cron-förinställningar

Cron på Ubuntu kommer med en uppsättning fördefinierade schemaläggare. Du kan kontrollera dem genom att köra kommandot nedan:

$ ls / etc / cron.*

Vanligtvis är dessa mappar “/ etc / cron.timme ”,“ / etc / cron.dagligen ”,“ / etc / cron.månadsvis ”och“ / etc / cron.varje vecka".

Lägg bara dina önskade skript i en av dessa mappar för att köra automatiska uppgifter varje timme, dagligen, månad eller vecka.

Observera att cron använder “/ bin / sh” -skal som standard. Om du vill använda “/ bin / bash” som skal i cron-skript måste du använda “!# / bin / bash ”hashbang högst upp i skriptfilen eller definiera skalet som“ SHELL = / bin / bash ”-variabel i första raden i ett schemalagt bash-skript. Åsidosättande av "SHELL" -miljövariabeln fungerar också för crontab-redigeraren som förklaras nedan.

Inte alla systemmiljövariabler kan exponeras för cron-jobb. Så det är i allmänhet en bra idé att manuellt definiera viktiga miljövariabler i ett manus som planeras av cron.

Crontab

Med Crontab kan du definiera dina egna schemalagda uppgifter. Du kan använda den för att konfigurera cron-scheman som skiljer sig från de fyra standardinställningarna för cron som förklarats ovan.

För att ställa in en schemalagd uppgift i crontab, starta först crontab-redigeraren med kommandot nedan:

$ crontab -e

Nu i slutet av filen kan du lägga till en post i följande format:

minut timme dag månad vardag / full / sökväg / till / skript.sh

Var:

Crontab-posten nedan tar en skärmdump av ditt skrivbord och lagrar den i din hemkatalog en gång kl. 15:13 den 2 mars plus varje tisdag i mars kl. 15:13.

13 15 2 3 2 scrot

För att lista alla crontab-poster, använd kommandot nedan:

$ crontab -l

Fler exempel

Cron-uppgifter kan bäst förklaras genom exempel, så nedan är några exempel som med jämna mellanrum tar skärmdumpar på skrivbordet och lagrar dem i hemmappen.

Förutom de fem schemaläggningsvariablerna använder cron också en speciell sträng för att schemalägga jobb. Dessa strängar är:

Crontab-posten nedan tar en skärmdump en gång vid varje omstart:

@reboot scrot

Du kan ersätta "@reboot" med andra specialsträngar som nämns ovan.

Om du använder en asterisk eller jokertecken i stället för någon av de fem variablerna upprepas jobbet i alla nya instanser av variabeln. Inmatningen nedan tar en skärmdump varje minut:

* * * * * Scrot

Varje timme:

0 * * * * scrot

Varje dag klockan 18:00:

0 18 * * * scrot

Varje månad den 6: e kl 18:00:

0 18 6 * * scrot

Använd “/” för att köra ett skript med ett fast periodiskt intervall på 30 minuter (körs var 30: e minut):

* / 30 * * * * scrot

Du kan använda kommaseparerade variabler för att definiera upprepad körning av skript med jämna mellanrum. Exemplet nedan tar en skärmdump av ditt skrivbord var 1: a, 4: e och 5: e minut av en ny timme.

1,4,5 * * * * scrot

Verifiera Crontab-poster

Det kan vara svårt att definiera crontab-poster men att felsöka dem eller verifiera om de fungerar vid rätt tidsstämplar är ännu svårare. Ett alternativ är att använda en virtuell maskin och logga tidsstämplar för ett skript som körs regelbundet på ett cron-jobb genom att inkludera något som "datum" -kommando och omdirigera utdata till en textfil. En bättre lösning är dock att använda en av de många online-tjänsterna för cronjobbtestning som finns tillgängliga på nätet. Jag rekommenderar att webbplatsen för cron-testare är tillgänglig här ett försök.

Slutsats

Att köra cron-jobb är ett utmärkt sätt att automatisera upprepade uppgifter, särskilt på servrar. Verktyget är extremt kraftfullt och anpassningsbart. Det är dock viktigt att se till att din schemaläggningsdefinition fungerar korrekt, speciellt om det finns uppdragskritiska uppgifter.

Bästa Linux Distros för spel 2021
Linux-operativsystemet har kommit långt från sitt ursprungliga, enkla, serverbaserade utseende. Detta operativsystem har förbättrats enormt de senaste...
Hur du fångar och strömmar din spelsession på Linux
Tidigare betraktades spel bara som en hobby, men med tiden såg spelindustrin en enorm tillväxt när det gäller teknik och antalet spelare. Spelpubliken...
Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...