Crontab i Linux: Jobplanlægning EKSEMPLER
Hvad er crontab?
Cron er opkaldt efter det græske ord "Chronos", der bruges om tid. Det er en systemproces, der automatisk udfører opgaver i henhold til den specifikke tidsplan. Det er et sæt kommandoer, der bruges til at køre regelmæssige planlægningsopgaver. Crontab står for "cron table". Det giver mulighed for at bruge jobplanlægger, som er kendt som cron til at udføre opgaver.
Crontab er også navnet på programmet, som bruges til at redigere den tidsplan. Den er drevet af en crontab-fil, en konfigurationsfil, der indikerer, at shell-kommandoer skal køre periodisk for den specifikke tidsplan.
Hvorfor bruge Cronjobs?
Her er grundene til at bruge Cronjobs i Linux:
- Hjælper OS med at tage en planlagt backup af logfiler eller database.
- Slet gamle logfiler
- Archive og rense databasetabeller
- Send enhver notifikations-e-mail, såsom nyhedsbreve, e-mail med udløb af adgangskode
- Regelmæssig oprydning af cachelagrede data
- Crontab er en ideel mulighed for at automatisere Unix-job.
- Det bruges til at automatisere systemvedligeholdelse
Hvordan bruger man cron i Linux?
Linux-system pack har en nyttig opgaveplanlægger ved navn crontab. Crontab er populær, fordi den kan planlægges til at køre en automatiseret proces som root. Derfor bliver systemændringer nemmere at have en automatiseret proces, der kører som root. Du skal blot ændre opgaven og derefter vente, indtil opgaven genstartes.
Linux Crontab-format
Crontab of Linux har seks felter. De første fem felter definerer tidspunktet og datoen for udførelse, og det 6. felt bruges til kommandoudførelse.
Crontab syntaks:
[Minute] [hour] [Day_of_the_Month] [Month_of_the_Year] [Day_of_the_Week] [command]
- Astrik (*): Bruges til matchning
- Definer interval: Giver dig mulighed for at definere et område ved hjælp af bindestreg som 1-10 eller 30-40 eller jan-mar, man-ons.
- Definer flere områder: Giver dig mulighed for at definere forskellige områder med kommando adskilt som apr-jun, okt-dec.
Sådan tilføjes/ændres Crontab
Brugeren kan redigere deres crontab-job ved hjælp af følgende crontab-kommando:
$ crontab -u -e
Ovenstående kommando åbner den personlige crontab-konfiguration af dit computersystem, som kan redigeres ved at bruge din standardteksteditor.
Der er ingen grund til at genstarte din crontab, da den opfanger dine ændringer automatisk, når du bruger følgende kommando.
$ crontab -l
For at fjerne dine crontab-opgaver skal du bruge følgende kommando.
$ crontab -r
Brug nedenstående kommando for at tilføje eller opdatere job i crontab.
crontab -e
Kommando til at redigere andre brugers crontab
crontab -u username -e
Sådan listes Crontab
Kommando til at se crontab-indgange for den aktuelle bruger
crontab -l
Kommando til at se crontab-indgange for en bestemt bruger:
crontab -u username -l
Vigtige Crontab-eksempler
Her er nogle vigtige eksempler på Crontab
Produktbeskrivelse | Kommando |
---|---|
Cron kommando til at udføre de forskellige planlægningsjob. Nedenstående givne kommando udføres kl. 7 og 5 dagligt. |
0 7,17 * * * /scripts/script.sh |
Kommando til at udføre en cron efter hvert 5. minut. |
*/5* * * * * /scripts/script.sh |
Cron scheduler-kommando hjælper dig med at udføre opgaven på hver Monday klokken 5 om morgenen. Denne kommando er nyttig til at udføre ugentlige opgaver som systemoprydning. |
0 5 * * mon /scripts/script.sh |
Kommando kør dit script med 3 minutters interval. |
*/3 * * * * /scripts/monitor.sh |
Kommando til at planlægge en cron, som udføres for en bestemt måned. Denne kommando til at køre opgaver kører i februar, juni og september måneder. Nogle gange er vi nødt til at planlægge en opgave for at udføre en udvalgt månedlig opgave. |
* * * feb,jun,sep * /script/script.sh |
Kommando til at udføre på udvalgte dage. Dette eksempel vil køre hver Monday og onsdag kl. 5. |
0 17 * * mon,wed /script/script.sh |
Denne kommando tillader cron at udføre den første lørdag i hver måned. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Kommando til at køre et script i 6 timers interval, så det kan konfigureres som nedenfor. |
0 */6 * * * /scripts/script.sh |
Denne kommando planlægger en opgave, der skal udføres to gange på Monday og tirsdag. Brug følgende indstillinger til at gøre det. |
0 4,17 * * mon,tue /scripts/script.sh |
Kommando planlæg en cron til at udføre efter hvert 15. sekund. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
Kommando til at planlægge opgaver på årsbasis. @årligt tidsstempel er= til “0 0 5 1 *”. Dette udfører opgaven i det femte minut hvert år. Du kan bruge den til at sende nytårshilsner. |
@yearly /scripts/script.sh |
Kommando opgaver til at udføre på månedsbasis. @monthly timestamp ligner “0 0 1 * *”. Dette kommandoudtryk tillader udførelse af en opgave i det første minut af måneden. |
@monthly /scripts/script.sh |
Kommando til at udføre flere opgaver ved hjælp af en enkelt cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Kommando til at planlægge opgaver, der skal udføres på ugebasis. @ugentlig tidsstempel svarer til "0 0 4 * sol". Dette bruges til at udføre de ugentlige opgaver som systemoprydning osv. |
@weekly /bin/script.sh |
Opgaven vil blive planlagt til at udføre på daglig basis. @dagligt tidsstempel svarer til "0 2 * * *". Den udfører opgaven i det andet minut af hver dag. |
@daily /scripts/script.sh |
Tillader opgaver at udføre på timebasis. @timestemplet svarer til "0 * * * *". Denne kommando udfører en opgave i det første minut af hver time. |
@hourly /scripts/script.sh |
Tillader opgaver at udføre ved systemgenstart. @reboot-udtryk er nyttigt til de opgaver, som systemet ønsker at køre ved din systemstart. Dette er nyttigt at starte opgavebaggrunden automatisk. |
@reboot /scripts/script.sh |
Sammendrag:
- Cron er opkaldt efter det græske ord "Chronos", der bruges om tid.
- Cronjobs hjælper OS med at tage en planlagt backup af logfiler eller database.
- Linux-systempakken har en nyttig opgaveplanlægger ved navn crontab, der kan planlægges til at køre en automatiseret proces som root.
- Crontab of Linux har seks felter. De første fem felter definerer tidspunktet og datoen for udførelse, og det 6. felt bruges til kommandoudførelse.