I denne opplæringen vil vi gi deg den grunnleggende introduksjonen av alt du trenger å forstå for å planlegge en jobb med Cron. Dette inkluderer grunnleggende syntaks for Cron, redigering av crontab -fil, planlegg en jobb med Cron med få eksempler, se Cron Job, etc.
Grunnleggende om Cron Job
La oss forstå noen grunnleggende om en cronjobb.
Hva er Crond?
Crond er demonen i Linux -systemet som kjører i bakgrunnen og sjekker hvert minutt for å se om det er planlagt noen jobb på den tiden. Hvis det er, utfører den den jobben, ellers forblir den inaktiv.
Cron Job Syntax
Syntaksen for Cron Job er som følger:
* * * * * Kommando/skript
Fra venstre:
For å spesifisere flere verdier i et felt, bruk følgende operatørsymboler:
Redigering av crontab -fil
Crontab er en fil som inneholder de planlagte jobbene i en bestemt syntaks. Det er to typer crontab -filer; den ene for systemspesifikke Cron-jobber og den andre for brukerspesifikke Cron-jobber.
System Cron Jobs
De systemomfattende Cron-jobbene er lokalisert i /etc/crontab fil og /etc/cron.d katalog, og de kjøres gjennom /etc/cron.hver time, /etc/cron.daglig, /etc/cron.ukentlig og /etc/cron.månedlig. Bare en systemadministrator kan få tilgang til disse filene.
En systemadministrator kan definere en Cron -jobb ved å bruke følgende kommando:
$ nano /etc /crontab
Her er syntaksen til jobben i /etc/crontab fil:
# Min HR DayOfmonth Month DayofWeek Brukernavn Kommando
* * * * * bruker1 ifconfig
Brukerspesifikke Cron-jobber
De brukerspesifikke Cron-jobbene er lokalisert i /var/spool/cron/crontabs katalog. Selv om du kan redigere disse jobbene manuelt, anbefales det å redigere disse jobbene ved å bruke CRONTAB -E -kommandoen.
En standard bruker kan definere en CRON -jobb ved å bruke følgende kommando:
$ crontab -e
For eksempel, hvis du er logget inn som en "test" -bruker, vil CRONTAB -E -kommandoen redigere CRONTAB -filen for "Test" -brukeren. Tilsvarende, hvis du er logget inn som rotbruker, vil crontab -e -kommandoen redigere crontab -filen for rotbrukeren.
Utsted kommandoen nedenfor i terminalen for å redigere CRONTAB -filen for enhver annen bruker:
$ sudo crontab -u-e
Hvis du for eksempel er logget inn som en "Test1" -bruker og ønsker å redigere CRONTAB -filen for "Test2" -brukeren, ville kommandoen være:
$ sudo crontab -u test2 -e
Her er syntaksen til Cron -jobben som kan legges til i crontab -filen:
# M H DayOfmonth Month DayofWeek Command
* * * * * ifconfig
Du kan se i brukerspesifikke jobber at det ikke er noen "brukernavn" arkivert.
Crontab -kommandoer
CRONTAB -kommandoen brukes til å redigere, liste og fjerne Cron -jobbene:
Planlegge en jobb med Cron
Med Cron kan du kjøre jobb på et bestemt tidspunkt, dato og intervaller med en minimumsenhet på få minutter, i.e., Du kan kjøre en jobb hvert minutt.
For å planlegge en jobb med Cron, åpner du Crontab -filen ved hjelp av metoden omtalt i forrige seksjon. Når du har åpnet crontab -filen, blir du bedt om å velge en tekstredigerer. Skriv inn et nummer for å velge din foretrukne tekstredigerer. Bla ned til bunnen av filen og legg til jobber i syntaks beskrevet ovenfor. Hver linje i en fil spesifiserer en kommando. De første fem oppføringene i linjen spesifiserer den planlagte tiden, og den siste oppføringen spesifiserer hvilken kommando eller skript som skal kjøres.
Eksempel:
Følgende linje i crontab-filen planlegger Cron-jobben for å kjøre kommandoen/skriptet hvert 30. minutt siste 5 timer på hver uke fra mandag til lørdag.
*/30 5 * * 1-6 Kommando/skript
Minutter
I dette feltet spesifiserer vi protokollen når vi ønsker at kommandoen skal utføres. Det er spesifisert fra 0 til 59. * I dette feltet betyr det å kjøre jobben hvert minutt. I ovennevnte crontab -linje forteller */30 Cron -jobben å kjøre den spesifiserte kommandoen/skriptet hvert 30. minutt.
Timer
I dette feltet spesifiserer vi timene når vi ønsker at kommandoen skal utføres. Det er spesifisert fra 0 til 23. * I dette feltet betyr det å kjøre jobben hver time. I ovennevnte crontab -linje forteller verdien 5 Cron -jobben å kjøre den spesifiserte kommandoen/skriptet hver femte time.
Dag i måneden
På dette feltet spesifiserer vi de bestemte dager på måneder når vi ønsker at kommandoen skal utføres. Det er spesifisert fra 1 til 31. * I dette feltet betyr hver dag. I ovennevnte crontab -linje forteller * Cron -jobben om å kjøre den spesifiserte kommandoen/skriptet hver dag.
Årets måned
På dette feltet spesifiserer vi de spesielle månedene når vi ønsker at kommandoen skal utføres. Det er spesifisert fra 1 til 12. * I dette feltet betyr hver måned. I crontab -linjen ovenfor, forteller * Cron -jobben om å kjøre den spesifiserte kommandoen/skriptet hver måned.
Ukedag
På dette feltet spesifiserer vi de bestemte dagene i uken når vi ønsker at kommandoen skal utføres. Det er spesifisert fra 0 til 6 fra søndag til lørdag (0 for søndag og 6 for lørdag). * I dette feltet betyr hver dag om en uke. I crontab -linjen ovenfor, forteller * Cron -jobben om å kjøre den spesifiserte kommandoen/skriptet hver dag på en uke.
Eksempler på Cron Jobs
Her er noen eksempler på Cron Jobs:
Kjør en Cron -jobb hvert 15. minutt
For å planlegge en Cron -jobb som skal kjøres hvert 15. minutt, legg til linjen nedenfor i crontab -filen:
*/15 * * * * Kommando/skript
Kjør en Cron -jobb klokka 05.00 hver dag
For å planlegge en Cron -jobb som skal kjøres klokka 05.00 hver dag, legg til linjen nedenfor i Crontab -filen:
0 5 * * * Kommando/skript
Kjør en Cron -jobb klokken 17.00 hver dag
For å planlegge en Cron -jobb som skal kjøres klokken 17.00 hver dag, kan du legge til linjen nedenfor i Crontab -filen:
0 17 * * * Kommando/skript
Kjør en Cron -jobb klokka 9 den første dagen i hver måned
For å planlegge en Cron -jobb som skal kjøres klokka 9 den første dagen i hver måned, kan du legge til linjen nedenfor i Crontab -filen:
0 9 1 * * Kommando/skript
Kjør en Cron -jobb hver time hver 15. mars
For å planlegge en Cron -jobb hver time hver 15. mars, legg til linjen nedenfor i Crontab -filen:
0 * 15 3 * Kommando/skript
Kjør en Cron -jobb hver 5. time
For å planlegge en Cron -jobb hver 5. time, legg til linjen nedenfor i crontab -filen:
0 */5 * * * Kommando/skript
Kjør en Cron -jobb hvert 15. minutt
For å planlegge en Cron -jobb som skal kjøres hvert 15. minutt, legg til linjen nedenfor i crontab -filen:
*/15 * * * *
Ved hjelp av strenger
Følgende strenger kan også brukes til å definere en jobb:
For å kjøre et skript eller kommando hver uke, vil oppføringen i Crontab -filen for eksempel være:
@Weekly Command/Script
Forhåndsdefinerte Cron -kataloger
Det er noen forhåndsdefinerte Cron-kataloger i Linux der de lagrede skriptene automatisk utføres. Hvis vi plasserer noe skript under disse katalogene, blir det automatisk utført på den konfigurerte tiden.
For å utføre et skript en gang hver måned, må du for eksempel plassere det i /etc /cron.månedlig.
Se Cron Jobs
Se jobber for den nåværende brukeren
Bruk følgende kommando for å se alle de planlagte Cron -jobbene for den nåværende brukeren:
$ crontab -l
Se jobber for root -brukerne
For å se alle de planlagte jobbene til rotbrukeren, utstedt følgende kommando i terminalen:
$ katt /etc /crontab
Du må logge inn som rotbruker eller kjøre kommandoen som sudo.
Se jobber for de andre brukerne
For å se alle de planlagte jobbene til en bestemt bruker, kan du utstede følgende kommando i terminalen erstatte med det faktiske brukernavnet:
$ sudo crontab -u-l
For å kjøre denne kommandoen, trenger du sudo -privilegier.
Se timekronjobber
For å se alle Cron -jobbene som er konfigurert til å kjøre hver time, kan du utstede følgende kommando i terminalen:
$ ls -la /etc /cron.hver time
Se daglige Cron -jobber
For å se alle Cron -jobbene som er konfigurert til å kjøre daglig, kan du utstede følgende kommando i terminalen:
$ ls -la /etc /cron.daglig/
Se ukentlige Cron Jobs
For å se alle Cron -jobbene som er konfigurert til å kjøre ukentlig, kan du utstede følgende kommando i terminalen:
$ ls -la /etc /cron.ukentlig/
Se månedlige Cron -jobber
For å se alle Cron -jobbene som er konfigurert til å kjøre månedlig, kan du utstede følgende kommando i terminalen:
$ ls -la /etc /cron.månedlig/
Sikkerhetskopier alle Cron Jobs
Det anbefales å oppbevare en sikkerhetskopi av alle Cron -jobbene i en fil, slik at du kan gjenopprette i tilfelle sletting. For å lage en sikkerhetskopi av alle gjeldende jobber, bruk omdirigeringsoperatøren for å omdirigere utdataene fra Crontab -L til en fil.
$ crontab --l> backup_cron.tekst
Fjerne alle planlagte Cron -jobber
For å fjerne alle planlagte Cron -jobber, bruk -R -flagget som følger:
$ crontab -r
Cron tillatelse
Vi kan begrense tilgangen til crontab -kommandoen gjennom to filer: / etc/cron.Tillat og / etc / cron.benekte.
Crontab syntaksgeneratorer
Det er noen nettsteder som tillater å generere syntaks for crontabs. Disse nettstedene gjør det lettere å generere crontab -uttrykk uten å måtte huske syntaks. Selv om det er forskjellige nettsteder tilgjengelig for syntaksgeneratorer som crontabgenerator.com, crontab-generator.org, og cronmaker.com. Den som jeg stort sett foretrekker og syntes nyttig er crontab.Guru. Basert på brukerinngang genererer det et crontab-uttrykk som du kan kopiere late i crontab-filen.
Konklusjon
I denne opplæringen har vi forklart det grunnleggende om Cron -jobber, syntaks og hvordan du setter det opp. Vi har også diskutert hvordan vi kan se på Cron -jobber, lage en sikkerhetskopi og fjerne dem hvis det ikke lenger er nødvendig.