Lær Linux

Sådan oprettes Cron Jobs på Linux

Sådan oprettes Cron Jobs på Linux

Et Cron- eller Cron-job er en tidsbaseret planlægning, der er almindelig i Linux / Unix-systemer. Det planlægger specificerede brugeropgaver, så de kører med jævne mellemrum i fast dato, klokkeslæt eller intervaller. De fleste af disse opgaver er scripts til at udføre funktioner som sikkerhedskopier og mere. For at oprette disse cron-job bruger vi crontab-kommandoerne. En crontab er en UNIX-kommando / hjælpeprogram, der bruges til at oprette og administrere cron-job.

Som du vil se nedenfor, er det ret simpelt at oprette og redigere et cron-job. Den mest fantastiske del er, at du ikke behøver at genstarte cron eller endda din pc efter oprettelse eller redigering af et cron-job. Gem bare filen, så er du klar.

Almindelige anvendelser af Cron Jobs

Grundlæggende dele af en cron-kommando

Standardsyntaxen for crontab er som nedenfor:

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

1.Tid og dato sammen med hvor gentagne jobbet vil blive specificeret af de fem felter:

Bemærk: Dage starter med mandag. 0 og 7 repræsenterer søndag

2. BRUGERNAVN: Husk at erstatte dette med dit brugernavn

3. Den specifikke placering og script, der skal udføres af cron, specificeres af det tredje segment:

/ sti / til / script

4. Det sidste afsnit definerer meddelelsen til brugeren ved jobafslutning som en måde at holde styr på opgaver:

produktion

Din indbakke kan dog være fuld af mindre opgaver, der ofte kanaliseres. For at undgå dette kan du deaktivere den automatiske e-mail-output ved at tilføje nedenstående streng til din cron-kommando:

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

Derudover bruger cron yderligere fire værdier, der bruges til at specificere flere værdier i et felt. De er:

Opsætning af cron-job

Crontab-kommandoerne er ansvarlige for at oprette og redigere cron-job, fordi cron-filerne ikke skal redigeres direkte. Crontab definerer, hvordan du kan oprette, redigere, liste, debug, installere og afinstallere cron-opgaver.

Før du kommer i gang med cron-job, er det vigtigt at sikre, at dit Linux Desktop eller Server er opdateret ved at udføre nedenstående kommandoer:

sudo apt opdatering sudo apt opgradering

Hvis du ikke har cron-pakken installeret på dit system, skal du installere den med kommandoen nedenfor:

sudo apt-get install cron

Installer cron

Sådan redigeres crontab-filen?

For at afslutte processen skal du konfigurere cron-jobbet. Brugeren, der er logget ind, når et cron-job oprettes, bliver automatisk ejer. Det kan ændres ved at oprette en jobejer, der har ansvaret for at styre cron-job, som vi vil se i dette indlæg.

For at åbne crontab-konfigurationsfilen for den bruger, der aktuelt er logget ind, skal du udføre kommandoen nedenfor:

crontab -e

Du bliver bedt af systemet om at vælge en passende editor. I vores tilfælde vælger vi den første mulighed (nano editor).

crontab -e

Du kan tilføje en planlagt opgave pr. Linje i henhold til dine præferencer.

crontab-fil

Når du har tilføjet opgaverne, skal du afslutte ved at gemme filen og afslutte. Alle instruktioner, der leveres, læses og udføres af cron-dæmonen. Ændringerne vil blive anvendt selv uden at genstarte dit system, da lageret opdateres automatisk.

Rediger crontab for en anden bruger

Crontab kan redigeres til forskellige brugere ved hjælp af en kommando i nedenstående syntaks:

crontab -u andet_brugernavn -e

Sådan bruges specialtegn i crontab-kommandoer

Tegn og operatører dikterer mere tilpasning af dit system, da de udvider mulighederne for en cron-opgave.

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

Her står 06 for 6 am 1-5 står for antallet af dage (mandag til fredag).

35 1-23 / 2 * * * / sti / til / script / script.sh

1-23 angiver rækkevidden af ​​timer, / 2 indstiller intervallet til hver anden time.

Cron optioner

Det kan være en god idé at liste cron-job i dit system uden at låse crontab-konfigurationsfilen op. Dette kan gøres ved at starte din terminal og skrive kommandoen nedenfor:

crontab -l

liste cron job

Denne kommando viser alle cron-job, der findes i dit system.

For at slette alle crontab-kommandoer kan du bruge kommandoen nedenfor:

crontab -r
crontab -r -u andet-brugernavn

Brug strenge i Crontab

Strenge er uhyre nyttige værktøjer for udviklere, da de undgår gentagen skrivning af kodesegmenter. Heldigvis understøtter crontabs forskellige strengværdier. De omfatter:

@hver time: -samme som - “0 * * * *” (Udføres en gang hver time)
@midnat:  -samme som - “0 0 * * *“ (Udføres en gang hver dag)
@daglige: det samme som midnat
@ugentlig:  -samme som - “0 0 * * 0“ (Udføres en gang hver uge)
@månedlige: -samme som - “0 0 1 * *” (Udføres en gang hver måned)
@årligt: -samme som - “0 0 1 1 *“ (Udføres en gang hver år)
@årligt: svarer til @ årligt
@reboot: Udføres en gang efter hver genstart / genstart / opstart.

Et godt eksempel; Hvis du har et backup-script, som du vil køre hver dag, skal du bruge kommandoen nedenfor:

@daily / sti / til / backup_script.sh

Eksempler på cron-job

Her er en liste over grundlæggende cron-job, der kan bruges, når du kommer i gang:

    1. Sådan køres et script hvert minut:
      * * * * * / din / script / sti.sh
    2. Sådan køres et script hvert 40. minut:
      40 * * * * / din / script / sti.sh
    3. Sådan køres et script hver time:
      0 * * * * / din / script / sti.sh
    4. Sådan køres et script hver midnat:
      0 0 * * * / din / script / sti.sh
    5. Sådan køres et script hvert 23. minut efter midnat, 2 om morgenen og 4 om morgenen hver dag:
      23 0-23 / 2 * * * / din / script / sti.sh
    6. At køre et script kl. 4.05 hver søndag.
      5 4 * * sol / din / script / sti.sh
    7. At køre et script kl. 22 i løbet af ugen.
      0 22 * ​​* 1-5 / din / script / sti.sh
    8. At køre et script den 1. december - midnat.
      0 0 0 12 * / din / script / sti.sh
    9. At køre et script lørdag ved midnat.
      0 0 * * 6 / din / script / sti.sh
    10. At køre et script hver time.
      0 * * * * / din / script / sti.sh

Med disse grundlæggende eksempler kommer du ind i en dybere forståelse af sekvensen og hvordan den kan ændres.

Begrænsning af Cron-adgang

Vi ser, at cron-job kan komme godt med, især når du vil automatisere dine opgaver. Det kan dog også være risikabelt, hvis systemet tillader enhver bruger at oprette et cron-job. Selvom det ikke påvirker personlige data, kan nogle cron-job tage en hel del systemressourcer og dermed forsinke pc'en. For at undgå sådanne scenarier kan systemadministratoren (rodbrugeren) oprette en / etc / cron.give lov til  eller / etc / cron.nægte den fil, der kun indeholder brugere, der kan 'oprette / ikke oprette' et cron-job.

Det / etc / cron.give lov til filen indeholder brugere, der kan oprette, redigere, vise eller fjerne crontab-filer. Hvis denne fil ikke eksisterer, kan alle brugere oprette og administrere andre cron-job end dem i / etc / cron.nægte fil. Hvis ingen af ​​disse filer er til stede, kræves superbrugerrettigheder for at køre crontab-kommandoen.

cron tillad fil

Nu hvor du har forhindret ikke-root-brugere i at oprette cron-job, hvis de allerede havde nogen, kan du overveje at tilføje deres cron-job i root crontab-filen. Men her er et puslespil - Ved at tilføje deres cron-job til root crontab, kører ikke det deres cron-job som root? Nå, her kommer vigtigheden af ​​USERNAME-feltet, som vi diskuterede ovenfor i cron-kommandosyntaks. For eksempel kommandoen nedenfor:

0 * * * * fosslinux / sti / til / script.sh

Kører som bruger “fosslinux” cron job og ikke som root bruger.

Konklusion

Du har nu en klar guide til brug af Cron-job til at automatisere forskellige opgaver på dit system. Det bør ikke forveksle dig med opstartsapplikationer. Brug eksemplerne ovenfor til at prøve at automatisere enkle scripts. Med tiden kan du kombinere specialtegn og jokertegn for at udføre meget mere verdslige opgaver. Hvis du lige er kommet i gang, ville det være dejligt at læse vores indlæg om bash scripting tutorial med eksempler, der hjælper dig med at oprette dit første script.

Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...
Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...