Lär dig Linux

Hur man skapar Cron-jobb på Linux

Hur man skapar Cron-jobb på Linux

Ett Cron- eller Cron-jobb är en tidsbaserad schemaläggare som är vanlig i Linux / Unix-system. Det schemalägger angivna användaruppgifter att köras regelbundet i fast datum, tid eller intervall. De flesta av dessa uppgifter är skript för att utföra funktioner som säkerhetskopior och mer. För att skapa dessa cron-jobb använder vi crontab-kommandona. En crontab är ett UNIX-kommando / verktyg som används för att skapa och hantera cron-jobb.

Som du kommer att se nedan är det enkelt att skapa och redigera ett cron-jobb. Det mest fantastiska är att du inte behöver starta om cron eller ens din dator efter att du har skapat eller redigerat ett cron-jobb. Spara bara filen så är du klar.

Vanliga användningsområden för Cron Jobs

Grundläggande delar av ett cron-kommando

Standardsyntaxen för crontab är enligt nedan:

a b c d e USERNAME / path / to / script output

1.Tid och datum tillsammans med hur repetitivt jobbet kommer att anges anges av de fem fälten:

Obs: Dagarna börjar med måndag. 0 och 7 representerar söndag

2. ANVÄNDARNAMN: Kom ihåg att ersätta detta med ditt användarnamn

3. Den specifika platsen och skriptet som ska köras av cron anges av det tredje segmentet:

/ sökväg / till / skript

4. Det sista avsnittet definierar aviseringen till användaren när jobbet slutförts som ett sätt att hålla reda på uppgifterna:

produktion

Din inkorg kan dock vara full av mindre uppgifter som ofta kanaliseras. För att undvika detta kan du inaktivera den automatiska e-postutmatningen genom att lägga till strängen nedan i ditt cron-kommando:

> / dev / null 2> & 1 e.g a b c d e USERNAME / path / to / script> / dev / null 2> & 1

Dessutom använder cron ytterligare fyra värden som används för att specificera flera värden i ett fält. Dom är:

Ställa in cron-jobb

Crontab-kommandona ansvarar för att skapa och redigera cron-jobb eftersom cron-filerna inte ska redigeras direkt. Crontab definierar hur du kan skapa, redigera, lista, felsöka, installera och avinstallera cron-uppgifterna.

Innan du börjar med cron-jobb är det viktigt att du ser till att ditt Linux-skrivbord eller din server är uppdaterad genom att utföra kommandona nedan:

sudo apt uppdatering sudo apt uppgradering

Om du inte har cron-paketet installerat på ditt system, installera det med kommandot nedan:

sudo apt-get install cron

Installera cron

Hur du redigerar crontab-filen?

För att slutföra processen måste du konfigurera cron-jobbet. Användaren som är inloggad när ett cron-jobb skapas blir automatiskt ägare. Det kan ändras genom att skapa en jobbägare som kommer att ha ansvaret för att hantera cron-jobbet, som vi kommer att se i det här inlägget.

För att öppna konfigurationsfilen för crontab för den användare som är inloggad, kör kommandot nedan:

crontab -e

Du kommer att uppmanas av systemet att välja en lämplig redigerare. I vårt fall väljer vi det första alternativet (nano editor).

crontab -e

Du kan lägga till en schemalagd uppgift per rad enligt dina preferenser.

crontab-fil

När du har lagt till uppgifterna, avsluta med att spara filen och avsluta. Alla instruktioner som tillhandahålls kommer att läsas och utföras av cron-demon. Ändringarna kommer att tillämpas även utan att starta om ditt system eftersom förvaret uppdateras automatiskt.

Redigera crontab för en annan användare

Crontab kan redigeras för olika användare med ett kommando i syntaxen nedan:

crontab -u other_username -e

Hur man använder specialtecken i crontab-kommandon

Tecken och operatörer dikterar mer anpassning av ditt system eftersom de utökar funktionerna för en cron-uppgift.

0 6 * * 1-5 / root / backup.sh

Här står 06 för 6 am 1-5 står för antalet dagar (måndag till fredag).

35 1-23 / 2 * * * / sökväg / till / skript / skript.sh

1-23 anger intervallet för timmar, / 2 ställer in intervallet varannan timme.

Cron-alternativ

Du kanske vill lista cron-jobb i ditt system utan att låsa upp crontab-konfigurationsfilen. Detta kan göras genom att starta din terminal och skriva kommandot nedan:

crontab -l

lista cron jobb

Det kommandot listar alla cron-jobb som finns i ditt system.

För att radera alla crontab-kommandon kan du använda kommandot nedan:

crontab -r
crontab -r -u annat-användarnamn

Använd strängar i Crontab

Strängar är oerhört användbara verktyg för utvecklare eftersom de undviker upprepad skrivning av kodsegment. Lyckligtvis stöder crontabs olika strängvärden. De inkluderar:

@varje timme: -samma som - “0 * * * *” (Körs en gång var timme)
@midnatt:  -samma som - “0 0 * * *” (Körs en gång var dag)
@dagligen: samma som midnatt
@varje vecka:  -samma som - “0 0 * * 0” (körs varje gång vecka)
@en gång i månaden: -samma som - “0 0 1 * *” (körs en gång var månad)
@årligen: -samma som - “0 0 1 1 *” (körs en gång var år)
@årlig: liknande @ årligen
@reboot: Körs en gång efter varje omstart / omstart / start.

Ett bra exempel; om du har ett säkerhetskopieringsskript som du vill köra varje dag, använd kommandot nedan:

@daily / path / to / backup_script.sh

Exempel på cron-jobb

Här är en lista över grundläggande cron-jobb som kan användas när du kommer igång:

    1. Så här kör du ett skript varje minut:
      * * * * * / din / skript / sökväg.sh
    2. Så här kör du ett skript var 40: e minut:
      40 * * * * / din / skript / sökväg.sh
    3. Så här kör du ett skript varje timme:
      0 * * * * / din / skript / sökväg.sh
    4. Så här kör du ett skript varje midnatt:
      0 0 * * * / din / skript / sökväg.sh
    5. Så här kör du ett skript var 23: e minut efter midnatt, två och fyra varje dag:
      23 0-23 / 2 * * * / din / skript / sökväg.sh
    6. Att köra ett skript vid 4.05 varje söndag.
      5 4 * * sun / your / script / path.sh
    7. Att köra ett skript klockan 22 under veckan.
      0 22 * ​​* 1-5 / din / skript / sökväg.sh
    8. Att köra ett manus den 1 december - midnatt.
      0 0 0 12 * / din / skript / sökväg.sh
    9. Att köra ett manus på lördag vid midnatt.
      0 0 * * 6 / ditt / skript / sökväg.sh
    10. Att köra ett skript varje timme.
      0 * * * * / din / skript / sökväg.sh

Med dessa grundläggande exempel kommer du att fördjupa dig i sekvensen och hur den kan modifieras.

Begränsa Cron-åtkomst

Vi ser att cron-jobb kan komma till stor nytta, särskilt när du vill automatisera dina uppgifter. Det kan dock också vara riskabelt om systemet tillåter användare att skapa ett cron-jobb. Även om det inte påverkar personuppgifter, kan vissa cron-jobb ta en hel del systemresurser och därmed fördröja datorn. För att undvika sådana scenarier kan systemadministratören (root-användare) skapa en / etc / cron.tillåta  eller / etc / cron.förneka filen som endast innehåller användare som kan 'skapa / inte skapa' ett cron jobb.

De / etc / cron.tillåta filen innehåller användare som kan skapa, redigera, visa eller ta bort crontab-filer. Om den här filen inte existerar kan alla användare skapa och hantera andra cron-jobb än de i / etc / cron.förneka fil. Om ingen av dessa filer finns krävs superanvändarbehörigheter för att köra crontab-kommandot.

cron allow-fil

Nu när du har hindrat icke-root-användare från att skapa cron-jobb om de redan har några, kan du överväga att lägga till sina cron-jobb i root crontab-filen. Men här är ett pussel - Genom att lägga till sina cron-jobb till root crontab, kör inte det sina cron-jobb som root? Tja, här kommer vikten av USERNAME-fältet som vi diskuterade ovan i cron-kommandosyntaxen. Till exempel kommandot nedan:

0 * * * * fosslinux / sökväg / till / skript.sh

Körs som cron-jobb för “fosslinux” och inte som root-användare.

Slutsats

Du har nu en tydlig guide om hur du använder Cron-jobb för att automatisera olika uppgifter i ditt system. Det borde inte förvirra dig med startapplikationer. Använd exemplen ovan för att försöka automatisera enkla skript. Med tiden kan du kombinera specialtecken och jokertecken för att utföra mycket mer vardagliga uppgifter. Om du precis har börjat skulle det vara fantastiskt att läsa vårt inlägg på bash scripting tutorial med exempel som hjälper dig att skapa ditt första script.

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 ...
Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...