crontab

Crontab i Linux

Crontab i Linux
Med fremkomsten af ​​nye teknologier ønsker vi, at alt skal automatiseres, inklusive vores computersystemer. For eksempel kan vi som systemadministrator ønske, at vores sikkerhedskopi køres hver aften kl. Hvad er så formålet med computere, hvis vi skal vågne op dagligt klokken 02:00 og køre kommandoerne manuelt for at starte sikkerhedskopien. Der skal være en måde, der fortæller systemet, at den automatisk kører en sikkerhedskopi på et bestemt tidspunkt. Heldigvis tilbyder Linux OS et cron-værktøj, der tillader automatisering af opgaver i en bestemt periode.

Cron er et effektivt og populært kommandolinjeprogram, der bruges til at planlægge en bred vifte af opgaver på et bestemt tidspunkt uden brugerinteraktion. De planlagte opgaver kaldes cron-job, mens crontab er listen over filen, der indeholder cron-job.

I denne artikel vil vi forklare med forskellige eksempler viser, at du kan redigere og bruge crontab-fil for at planlægge opgaver i Debian 10-systemet.

Cron kan bruges til at automatisere opgaver i følgende scenarier:

Syntaks

Det er lettere at arbejde med cron, når du først har forstået dens syntaks. Den generelle syntaks for at bruge cron er:

* * * * / sti / til / script.sh

Hvert af felterne svarer til følgende:

Minut (0-59) Time (0-24) Dag_måned (1-7) Måned_år_år (1-12)
Day_of_the_Week (0-6) kommando

Installation af Cron

Cron kommer forudinstalleret i Debian 10. Men hvis det mangler på dit system, skal du køre følgende kommando for at installere det:

$ sudo apt installere cron

Se crontab

Brug følgende kommando for at se crontab-fil:

$ crontab -l

Hvis du vil se crontab-filen for en bestemt bruger, skal du bruge følgende kommando:

$ sudo crontab -u bruger -l

Rediger crontab

Sådan redigeres crontab-filen for den aktuelle bruger:

$ crontab -e

Sådan redigeres crontab-filen for en bestemt bruger:

$ sudo crontab -u bruger

Hvis du redigerer crontab-fil for første gang, bliver du bedt om at vælge en editor:

Når du har valgt editoren, vises følgende vindue.

For eksempel vil du køre et backup-script med navnet “backup.sh ”placeret i dokumentmappen dagligt kl. For at gøre det skal du tilføje følgende linje i din crontab-fil:

0 2 * * * / Dokumenter / backup.sh

I ovenstående vindue kan du tilføje dine cron-job en efter en. Når du er færdig, skal du gemme og afslutte filen, efter at alle cron-job kører automatisk med deres specificerede interval.

Fjern crontab

For at fjerne crontab-filen skal du indtaste følgende kommando i Terminal:

$ crontab -r

Lad os nu gennemgå en række eksempler på cron-job på en linux-maskine.

1. Kør et cron-job hvert minut

For at udføre et cron-job hvert minut skal du tilføje følgende linje i din crontab-fil:

* * * * * / sti / til / script.sh

2. Kør et cron-job efter hvert 10. minut

For at planlægge, at et cron-job skal udføres efter hvert 10. minut, skal du tilføje følgende linje i din crontab-fil.

* / 10 * * * * / sti / til / script.sh

3. Kør et cron-job i bestemte måneder

At planlægge et cron-job, der skal udføres i bestemte måneder e.g. Marts, august, december, tilføj cron-jobbet i din crontab-fil på følgende måde:

* * * jan, maj, aug * / sti / til / script.sh

4. Kør et cron-job på udvalgte dage

Hvis du ønsker, at dit cron-job skal udføres på udvalgte dage, lad os antage søndag og fredag ​​kl. 17, det skal se ud som følgende.

0 17 * * sol, fre / sti / til / script.sh

5. Kør et cron-job dagligt på et bestemt tidspunkt

For at planlægge et cron-job, der skal udføres dagligt på et bestemt tidspunkt, lad os sige kl. 3, tilføj denne linje i din crontab-fil.

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

6. Kør et cron-job på en bestemt dag

For at planlægge et cron-job, der skal udføres på en bestemt dag, lad os sige hver søndag, tilføj denne linje i din crontab-fil.

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

Jobbet løber kl. 00 hver søndag.

7. Kør flere opgaver i et enkelt cron-job

For at planlægge flere opgaver i et enkelt cron-job skal du tilføje alle scripts i din crontab-fil ved at adskille dem med et semikolon.

* * * * * / sti / til / script1.sh; / sti / til / script2.sh

8. Kør et cron-job videre hver hverdag

For at planlægge et cron-job, der skal udføres hver dag i ugen, der er fra mandag til fredag, skal du tilføje denne linje i din crontab-fil.

0 0 * * 1-5 / sti / til / script.sh

Jobbet løber kl. 00 på hver hverdag.

9. Kør et cron-job to gange om dagen

At planlægge et job, der skal køre to gange om dagen e.g. kl. 6 og kl. 15 skal du tilføje denne linje i din crontab-fil:

0 6,15 * * * / sti / til / script.sh

10. Kør et cron-job hver time

For at planlægge, at et cron-job skal udføres hver time i minut 0, skal du tilføje denne linje i din crontab-fil:

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

For eksempel, hvis det aktuelle tidspunkt er kl. 14, kører jobbet kl. 15:00, 16:00 og så videre.

11. Kør et cron-job efter hver 3. time

For at planlægge et cron-job, der skal køre efter hver 3. time i minut 0, skal du tilføje denne linje i din crontab-fil:

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

For eksempel, hvis det aktuelle tidspunkt er kl. 14, kører jobbet kl. 17:00, 20:00 og så videre.

12. Kør cron-job kl. 16:00 den første i hver måned

For at planlægge et job, der skal køre dagen første hver måned kl. 16:00, skal du tilføje denne linje i din crontab-fil:

0 16 1 * * / sti / til / script.sh

Strenge i Crontab

Du kan også bruge følgende strenge i stedet for de lange gentagne kommandoer.

@ hver time - Kør cron-job hver time i.e. “0 * * * *“
@ midnat - Kør cron-job hver dag i.e. “0 0 * * *“
@ dagligt - samme som midnat
@ ugentligt- Kør cron-job hver uge, jeg.e. “0 0 * * 0“
@ månedligt- Kør cron-job hver måned i.e. “0 0 1 * *“
@ årligt - Kør cron-job hvert år i.e. “0 0 1 1 *“
@ årligt - det samme som @ årligt
@ reboot - Kør cron-job ved hver opstart

Hvis du f.eks. Vil køre cron-job hver dag i det første minut og den første time, skal du tilføje følgende linje:

@daily / sti / til / script.sh

For eksempel at køre cron-job hver gang serveren genstartes:

@reboot / sti / til / script.sh

Det er alt der er ved det! I denne artikel har vi lært, hvordan man automatiserer forskellige opgaver ved hjælp af crontab i Debian-systemet. Ved at bruge ovenstående eksempler kan du planlægge enhver form for opgave, der skal igangsættes uden brugerinteraktion.

Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...