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.

Oppsummer dette innlegget med: