Cron er et effektivt og populært kommandolinjeverktøy som brukes til å planlegge et bredt spekter av oppgaver til et bestemt tidspunkt uten brukerinteraksjon. De planlagte oppgavene er kjent som cron-jobber mens crontab er listen over filen som inneholder cron-jobber.
I denne artikkelen vil vi forklare med forskjellige eksempler som viser at du kan redigere og bruke crontab-filer for å planlegge oppgaver i Debian 10-systemet.
Cron kan brukes til å automatisere oppgaver i følgende scenarier:
- Kjører tidsplan sikkerhetskopier,
- Kontrollerer diskplass med et bestemt intervall,
- Kjører automatisk vedlikehold,
- Fjerner uønskede filer med jevne mellomrom,
- Kjører nettverksdiagnostikk
Syntaks
Når du forstår syntaksen, er det lettere å jobbe med cron. Den generelle syntaksen for å bruke cron er:
* * * * / sti / til / skript.shHvert av feltene tilsvarer følgende:
Minutt (0-59) Time (0-24) Dag_dag_Måned (1-7) Måned_år_år (1-12)Day_of_the_Week (0-6) kommando
Installere Cron
Cron er forhåndsinstallert i Debian 10. Men hvis det mangler i systemet ditt, kjør følgende kommando for å installere det:
$ sudo apt installere cronVis crontab
For å se crontab-fil, bruk følgende kommando:
$ crontab -lFor å se crontab-filen til en bestemt bruker, bruk følgende kommando:
$ sudo crontab -u bruker -lRediger crontab
Slik redigerer du crontab-filen til den nåværende brukeren:
$ crontab -eSlik redigerer du crontab-filen til en bestemt bruker:
$ sudo crontab -u brukerHvis du redigerer crontab-filen for første gang, blir du bedt om å velge en redaktør:
Når du har valgt redigeringsprogrammet, vises følgende vindu.
For eksempel vil du kjøre et backup-skript som heter “backup.sh ”ligger i dokumentkatalogen hver dag klokken 02:00. For å gjøre det, må du legge til følgende linje i crontab-filen:
0 2 * * * / Dokumenter / sikkerhetskopi.sh
I vinduet ovenfor kan du legge til cron-jobbene dine en etter en. Når du er ferdig, lagrer du og avslutter filen etter at alle cron-jobbene kjøres automatisk med det angitte intervallet.
Fjern crontab
For å fjerne crontab-filen, skriv inn følgende kommando i Terminal:
$ crontab -rLa oss nå gå gjennom en serie eksempler på cron-jobber på en Linux-maskin.
1. Kjør en cron-jobb hvert minutt
For å utføre en cron-jobb hvert minutt, legg til følgende linje i crontab-filen:
* * * * * / sti / til / skript.sh2. Kjør en cron-jobb etter hvert 10. minutt
For å planlegge en cron-jobb som skal utføres etter hvert 10. minutt, legg til følgende linje i crontab-filen.
* / 10 * * * * / sti / til / skript.sh3. Kjør en cron-jobb på bestemte måneder
Å planlegge en cron-jobb som skal utføres på bestemte måneder e.g. Mars, august, desember, legg til cron-jobben i crontab-filen på følgende måte:
* * * jan, mai, aug * / path / to / script.sh4. Kjør en cron-jobb på utvalgte dager
Hvis du vil at cron-jobben din skal utføres på utvalgte dager, la oss anta søndag og fredag klokka 17.00, bør det se ut som følgende.
0 17 * * sol, fre / sti / til / skript.sh5. Kjør en cron-jobb daglig på et bestemt tidspunkt
For å planlegge en cron-jobb som skal utføres daglig på et bestemt tidspunkt, la oss si klokken 3, legg til denne linjen i crontab-filen.
0 3 * * * / sti / til / skript.sh6. Kjør en cron-jobb på en bestemt dag
For å planlegge en cron-jobb som skal utføres på en bestemt dag, la oss si hver søndag, legg til denne linjen i crontab-filen.
0 0 * * SUN / path / to / script.shJobben vil løpe klokken 00:00 hver søndag.
7. Kjør flere oppgaver i en enkelt cron-jobb
For å planlegge flere oppgaver i en enkelt cron-jobb, legg til alle skript i crontab-filen din ved å skille dem med et semikolon.
* * * * * / sti / til / skript1.sh; / sti / til / skript2.sh8. Kjør en cron-jobb på hver ukedag
For å planlegge en cron-jobb som skal utføres hver dag i uken som er fra mandag til fredag, må du legge til denne linjen i crontab-filen.
0 0 * * 1-5 / sti / til / skript.shJobben vil løpe klokka 00.00 hver ukedag.
9. Kjør en cron-jobb to ganger om dagen
Å planlegge en jobb for å kjøre to ganger om dagen e.g. klokka 6 og 15, må du legge til denne linjen i crontab-filen:
0 6,15 * * * / sti / til / skript.sh10. Kjør en cron-jobb hver time
For å planlegge en cron-jobb som skal utføres hver time i minutt 0, må du legge til denne linjen i crontab-filen:
0 * * * * / sti / til / skript.shFor eksempel, hvis klokken er klokka 14.00, kjører jobben kl. 15.00, 16.00 og så videre.
11. Kjør en cron-jobb etter hver 3. time
For å planlegge at en cron-jobb skal kjøre hver 3. time i minutt 0, må du legge til denne linjen i crontab-filen:
0 * / 3 * * * / sti / til / skript.shFor eksempel, hvis nåværende klokka er 14.00, vil jobben kjøre 17:00, 20:00 og så videre.
12. Kjør cron-jobb klokka 16.00 den første i hver måned
For å planlegge en jobb for å kjøre dagen første hver måned klokken 16.00, må du legge til denne linjen i crontab-filen:
0 16 1 * * / sti / til / skript.shStrenger i Crontab
Du kan også bruke følgende strenger i stedet for de lange repeterende kommandoene.
@ hver time - Kjør cron-jobb hver time i.e. “0 * * * *“@ midnatt- Kjør cron-jobb hver dag i.e. “0 0 * * *“
@ daglig - samme som midnatt
@ ukentlig - Kjør cron-jobb hver uke, jeg.e. “0 0 * * 0“
@ månedlig- Kjør cron-jobb hver måned i.e. “0 0 1 * *“
@ årlig- Kjør cron-jobb hvert år i.e. “0 0 1 1 *“
@ årlig- samme som @ årlig
@ reboot- Kjør cron-jobb ved hver oppstart
For eksempel, for å kjøre cron-jobben hver dag i første minutt og første time, legg til følgende linje:
@daily / path / to / script.shFor eksempel å kjøre cron-jobben hver gang serveren startes på nytt:
@reboot / path / to / script.shDet er alt det er til det! I denne artikkelen har vi lært hvordan du automatiserer forskjellige oppgaver ved hjelp av crontab i Debian-systemet. Ved å bruke eksemplene ovenfor kan du planlegge en hvilken som helst jobb som skal igangsettes uten brukerinteraksjon.