Crontab i Linux: Jobbplanlegging EKSEMPLER

Hva er crontab?

Cron er oppkalt etter det greske ordet "Chronos" som brukes for 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". Den lar deg bruke jobbplanlegger, som er kjent som cron for å utføre oppgaver.

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

Hvorfor bruke Cronjobs?

Her er grunnene til å bruke Cronjobs i Linux:

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

Hvordan bruker jeg cron i Linux?

Linux-system pack har en nyttig oppgaveplanlegger kalt crontab. Crontab er populært fordi det kan planlegges å kjøre en automatisert prosess som root. Derfor gjør systemet endringer 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 klokkeslett og dato for utførelse, og det sjette feltet brukes for utførelse av kommando.

Crontab-syntaks:

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

Linux Crontab-format

  • Astrikk (*): Bruk for matching
  • 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 ulike 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 

Kommandoen ovenfor vil åpne den personlige crontab-konfigurasjonen til datamaskinsystemet, som kan redigeres ved å bruke standard tekstredigeringsprogram.

Det er ikke nødvendig å starte crontab på nytt, da det vil fange opp endringene dine 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 til gjeldende bruker

crontab -l

Kommando for å se crontab-oppføringer til en spesifikk bruker:

crontab -u username -l

Viktige Crontab-eksempler

Her er noen viktige eksempler på Crontab

Tekniske beskrivelser Kommando
Cron-kommando for å gjøre de forskjellige planleggingsjobbene.
Nedenfor gitt kommando utføres klokken 7 og 5 daglig.
0 7,17 * * * /scripts/script.sh
Kommando for å utføre en cron etter hvert 5. minutt.
*/5* * * * *  /scripts/script.sh
Cron-planlegger-kommandoen hjelper deg med å utføre oppgaven på hver Monday klokken 5. Denne kommandoen er nyttig for å utføre ukentlige oppgaver som systemopprydding.
0 5 * * mon  /scripts/script.sh
Kommando kjør skriptet ditt med 3 minutters intervall.
*/3 * * * * /scripts/monitor.sh
Kommando for å planlegge en cron som kjøres for en bestemt måned.
Denne kommandoen for å kjøre oppgaver kjører i månedene februar, juni og september. Noen ganger må vi planlegge en oppgave for å utføre en utvalgt månedlig oppgave.
* * * feb,jun,sep *  /script/script.sh
Kommando som skal utføres på utvalgte dager. Dette eksemplet vil kjøre hver Monday og onsdag kl 5.
0 17 * * mon,wed  /script/script.sh
Denne kommandoen lar cron utføre den første lørdagen i hver måned.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Kommando for å 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å Monday og tirsdag. Bruk følgende innstillinger for å gjøre det.
0 4,17 * * mon,tue /scripts/script.sh
Kommandoplanlegg en cron som skal utføres etter hvert 15. sekund.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Kommando til å planlegge oppgaver på årsbasis.
@årlig tidsstempel er= til “0 0 5 1 *”. Dette utfører oppgaven i det femte minuttet hvert år. Du kan bruke den til å sende nyttårshilsener.
@yearly /scripts/script.sh 
Beordre oppgaver som skal utføres på månedlig basis.
@månedlig tidsstempel er lik “0 0 1 * *”. Dette kommandouttrykket gjør det mulig å utføre en oppgave i det første minuttet i måneden.
@monthly /scripts/script.sh
Kommando for å utføre flere oppgaver ved å bruke en enkelt cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Kommando for å planlegge oppgaver som skal utføres på ukentlig basis.
@ukentlig tidsstempel er lik "0 0 4 * sol". Dette brukes til å utføre de ukentlige oppgavene som systemopprydding osv.
@weekly /bin/script.sh
Oppgaven vil bli planlagt utført på daglig basis.
@daglig tidsstempel er lik "0 2 * * *". Den utfører oppgaven i det andre minuttet av hver dag.
@daily /scripts/script.sh
Lar oppgaver utføres på timebasis.
@timelig tidsstempel er lik "0 * * * *". Denne kommandoen utfører en oppgave i det første minuttet av hver time.
@hourly /scripts/script.sh
Lar oppgaver utføres ved omstart av systemet.
@reboot-uttrykket er nyttig for de oppgavene som systemet vil kjøre ved oppstart av systemet. Dette er nyttig for å starte oppgavebakgrunnen automatisk.
@reboot /scripts/script.sh

Sammendrag:

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