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