crontab

Crontab i Linux

Crontab i Linux
Med fremveksten av ny teknologi ønsker vi at alt skal automatiseres, inkludert datasystemene våre. For eksempel, som systemadministrator, vil vi kanskje at sikkerhetskopien vår skal kjøres hver natt 02:00. Så hva er hensikten med datamaskiner hvis vi må våkne daglig klokken 02:00 og kjøre kommandoene manuelt for å starte sikkerhetskopien. Det bør være en måte som forteller systemet å kjøre en sikkerhetskopi automatisk på et bestemt tidspunkt. Heldigvis tilbyr Linux OS et cron-verktøy som tillater automatisering av oppgaver i en bestemt periode.

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:

Syntaks

Når du forstår syntaksen, er det lettere å jobbe med cron. Den generelle syntaksen for å bruke cron er:

* * * * / sti / til / skript.sh

Hvert 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 cron

Vis crontab

For å se crontab-fil, bruk følgende kommando:

$ crontab -l

For å se crontab-filen til en bestemt bruker, bruk følgende kommando:

$ sudo crontab -u bruker -l

Rediger crontab

Slik redigerer du crontab-filen til den nåværende brukeren:

$ crontab -e

Slik redigerer du crontab-filen til en bestemt bruker:

$ sudo crontab -u bruker

Hvis 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 -r

La 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.sh

2. 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.sh

3. 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.sh

4. 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.sh

5. 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.sh

6. 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.sh

Jobben 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.sh

8. 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.sh

Jobben 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.sh

10. 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.sh

For 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.sh

For 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.sh

Strenger 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.sh

For eksempel å kjøre cron-jobben hver gang serveren startes på nytt:

@reboot / path / to / script.sh

Det 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.

Kamp for Wesnoth 1.1. 3.6 Utvikling utgitt
Kamp for Wesnoth 1.1. 3.6 utgitt i forrige måned, er den sjette utgivelsen i 1.1. 3.x-serien, og den leverer en rekke forbedringer, spesielt til bruke...
Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...