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:
- Kører tidsplan sikkerhedskopier,
- Kontrol af diskplads med et bestemt interval,
- Kører automatisk vedligeholdelse,
- Fjerner uønskede filer med jævne mellemrum,
- Kører netværksdiagnostik
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.shHvert 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 cronSe crontab
Brug følgende kommando for at se crontab-fil:
$ crontab -lHvis du vil se crontab-filen for en bestemt bruger, skal du bruge følgende kommando:
$ sudo crontab -u bruger -lRediger crontab
Sådan redigeres crontab-filen for den aktuelle bruger:
$ crontab -eSådan redigeres crontab-filen for en bestemt bruger:
$ sudo crontab -u brugerHvis 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 -rLad 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.sh2. 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.sh3. 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.sh4. 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.sh5. 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.sh6. 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.shJobbet 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.sh8. 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.shJobbet 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.sh10. 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.shFor 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.shFor 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.shStrenge 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.shFor eksempel at køre cron-job hver gang serveren genstartes:
@reboot / sti / til / script.shDet 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.