Crontab i Linux: Jobbplanlegging EKSEMPLER

Innholdsfortegnelse:

Anonim

Hva er crontab?

Cron er oppkalt etter det greske ordet "Chronos" som brukes over tid. Det er en systemprosess som automatisk utfører oppgaver i henhold til den spesifikke tidsplanen. Det er et sett med kommandoer som brukes til å kjøre vanlige planleggingsoppgaver. Crontab står for "cron table". Det gjør det mulig å bruke jobbplanlegger, som er kjent som cron for å utføre oppgaver.

Crontab er også navnet på programmet, som brukes til å redigere tidsplanen. Den drives av en crontab-fil, en konfigurasjonsfil som indikerer skallkommandoer for å kjøre med jevne mellomrom for den spesifikke tidsplanen.

I denne opplæringen om operativsystem vil du lære:

  • Hva er crontab?
  • Hvorfor bruke CRONJOB?
  • Hvordan bruke cron i Linux?
  • Linux Crontab-format
  • Hvordan legge til / endre Crontab
  • Hvordan liste Crontab
  • Viktige Crontab-eksempler

Hvorfor bruke Cronjobs?

Her er årsakene til at du bruker Cronjobs i Linux:

  • Hjelper OS med å ta en planlagt sikkerhetskopi av loggfiler eller database.
  • Slett gamle loggfiler
  • Arkiver og rens databasetabeller
  • Send ut e-post med varsling som nyhetsbrev, passord utløps e-post
  • Regelmessig opprydding av hurtigbufrede data
  • Crontab er et ideelt alternativ for å automatisere Unix-jobber.
  • Den brukes til å automatisere systemvedlikehold

Hvordan bruke cron i Linux?

Linux-systempakken har en nyttig oppgaveplanlegger med navnet crontab. Crontab er populært fordi det kan planlegges å kjøre en automatisert prosess som root. Derfor gjør systemendringer enklere å ha en automatisert prosess som kjører som root. Du trenger bare å endre oppgaven og deretter vente til oppgaven startes på nytt.

Linux Crontab-format

Crontab of Linux har seks felt. De første fem feltene definerer tid og dato for kjøring, og det sjette feltet brukes til kommandokjøring.

Crontab-syntaks:

[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]

  • Astrics (*): Brukes til å matche
  • Definer rekkevidde: Lar deg definere et område ved hjelp av bindestrek som 1-10 eller 30-40 eller jan-mar, man-ons.
  • Definer flere områder: Lar deg definere forskjellige områder med kommando atskilt som apr-jun, okt-des.

Hvordan legge til / endre Crontab

Brukeren kan redigere crontab-jobbene sine ved hjelp av følgende crontab-kommando:

$ crontab -u -e

Ovennevnte kommando åpner den personlige crontab-konfigurasjonen til datasystemet ditt, som kan redigeres ved å bruke standard teksteditor.

Det er ikke nødvendig å starte crontab på nytt, da det vil hente endringene automatisk når du bruker følgende kommando.

$ crontab -l

For å fjerne crontab-oppgavene dine, bruk følgende kommando.

$ crontab -r

For å legge til eller oppdatere jobb i crontab, bruk kommandoen nedenfor.

crontab -e

Kommando for å redigere andre brukers crontab

crontab -u username -e

Hvordan liste Crontab

Kommando for å vise crontab-oppføringer for nåværende bruker

crontab -l

Kommando for å vise crontab-oppføringer for en bestemt bruker:

crontab -u username -l

Viktige Crontab-eksempler

Her er noen viktige eksempler på Crontab

Beskrivelse Kommando
Cron kommando for å utføre de forskjellige planleggingsjobbene. Nedenfor gitt kommando utføres klokka 07.00 og 17.00 daglig.
0 7,17 * * * /scripts/script.sh
Kommando om å utføre en cron etter hvert 5. minutt.
*/5* * * * * /scripts/script.sh
Cron scheduler-kommandoen hjelper deg med å utføre oppgaven hver mandag klokka 5 AM. Denne kommandoen er nyttig for å utføre ukentlige oppgaver som systemopprydding.
0 5 * * mon /scripts/script.sh
Kommando kjør skriptet ditt i 3 minutters intervall.
*/3 * * * * /scripts/monitor.sh
Kommando om å planlegge en cron som utføres for en bestemt måned. Denne kommandoen for å kjøre oppgaver kjøres i februar, juni og september måneder. Noen ganger må vi planlegge en oppgave for å utføre en valgt månedlig oppgave.
* * * feb,jun,sep * /script/script.sh
Kommando for å utføre på utvalgte dager. Dette eksemplet kjøres hver mandag og onsdag klokken 17.00.
0 17 * * mon,wed /script/script.sh
Denne kommandoen tillater cron å utføre første lørdag i hver måned.
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh
Kommando om å kjøre et skript i 6 timers intervall, slik at det kan konfigureres som nedenfor.
0 */6 * * * /scripts/script.sh
Denne kommandoen planlegger en oppgave som skal utføres to ganger på mandag og tirsdag. Bruk følgende innstillinger for å gjøre det.
0 4,17 * * mon,tue /scripts/script.sh
Kommando planlegger en cron å kjøre etter hvert 15. sekund.
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh
Kommando om å planlegge oppgaver på årsbasis. @årlig tidsstempel er = til "0 0 5 1 *". Dette utfører oppgaven i femte minutt hvert år. Du kan bruke den til å sende hilsener til nyttår.
@yearly /scripts/script.sh
Kommandooppgaver som skal utføres månedlig. @monthly tidsstempel ligner på "0 0 1 * *". Dette kommandouttrykket tillater utførelse av en oppgave i første minutt av måneden.
@monthly /scripts/script.sh
Kommando om å utføre flere oppgaver ved hjelp av en enkelt cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Kommando til å planlegge oppgaver som skal utføres ukentlig. @ ukentlig tidsstempel ligner på "0 0 4 * sol". Dette brukes til å utføre de ukentlige oppgavene som systemopprydding etc.
@weekly /bin/script.sh
Oppgaven vil være planlagt å utføres på daglig basis. @Daglig tidsstempel ligner på "0 2 * * *". Den utfører oppgaven i andre minutt av hver dag.
@daily /scripts/script.sh
Lar oppgaver utføres hver time. @hourly tidsstempel ligner på "0 * * * *". Denne kommandoen utfører en oppgave i første minutt av hver time.
@hourly /scripts/script.sh
Lar oppgaver utføres ved omstart av systemet. @reboot-uttrykk er nyttig for de oppgavene som systemet ønsker å kjøre ved oppstart av systemet. Dette er nyttig for å starte oppgavene automatisk.
@reboot /scripts/script.sh

Sammendrag:

  • Cron er oppkalt etter det greske ordet "Chronos" som brukes over tid.
  • Cronjobs hjelper OS med å ta en planlagt sikkerhetskopi av loggfiler eller database.
  • Linux-systempakken har en nyttig oppgaveplanlegger med navnet crontab som kan planlegges å kjøre en automatisert prosess som root.
  • Crontab of Linux har seks felt. De første fem feltene definerer tid og dato for kjøring, og det sjette feltet brukes til kommandokjøring.