11 Cron-planleggingsoppgaveeksempler i Linux
I denne artikkelen skal vi se gjennom og se hvordan vi kan planlegge og kjøre Linux-oppgaver i bakgrunnen automatisk med jevne mellomrom ved å bruke Crontab-kommandoen.
Å håndtere en hyppig jobb manuelt er en skremmende oppgave for systemadministratorer, og slike oppgaver kan planlegges og kjøres automatisk i bakgrunnen uten menneskelig innblanding ved å bruke cron daemon i Linux eller Unix-lignende operativsystem.
Du kan for eksempel automatisere Linux-systemsikkerhetskopiering, planlegge oppdateringer og synkronisering av filer og mange flere ved å bruke Cron daemon, som brukes til å kjøre planlagte oppgaver fra kommandolinjen eller bruk nettbaserte verktøy for å generere cron-jobber.
Cron våkner hvert minutt og sjekker planlagte oppgaver i countable – Crontab (CRON TABle) er en tabell der vi kan planlegge slike gjentatte oppgaver .
Tips: Hver bruker kan ha sin egen crontab for å opprette, endre og slette oppgaver. Som standard er cron aktivert for brukere, men vi kan begrense brukere ved å legge til en oppføring i filen /etc/cron.deny.
Crontab i Linux
Crontab-filen består av kommandoer per linje og har faktisk seks felt og atskilt enten med mellomrom eller tabulator. De fem første feltene representerer tiden for å kjøre oppgaver og det siste feltet er for kommando.
- Minutt (holde verdier mellom 0-59)
- Time (holde verdier mellom 0-23)
- Dag i måneden (holde verdier mellom 1–31)
- Måneden i året (hold verdier mellom 1-12 eller jan-dese, du kan bruke de tre første bokstavene i hver måneds navn, dvs. jan eller juni<.)
- Ukedag (hold verdier mellom 0-6 eller søn-lør, her kan du også bruke de tre første bokstavene i hver dags navn, dvs. søn eller onsdag<. )
- Kommando – /banen/til/kommandoen eller skriptet du vil planlegge.
1. List opp Crontab-oppføringer
List eller administrer oppgaven med crontab-kommandoen med -l
-alternativet for gjeldende bruker.
crontab -l
00 10 * * * /bin/ls >/ls.txt
2. Rediger Crontab-oppføringer
For å redigere crontab-oppføringen, bruk -e
alternativet vist nedenfor. Eksempelet nedenfor åpner planlagte jobber i VI-redigeringsprogrammet. Gjør nødvendige endringer og avslutt å trykke :wq
-tastene som lagrer innstillingen automatisk.
crontab -e
3. List opp planlagte Cron-jobber til bruker
For å liste opp planlagte jobber for en bestemt bruker kalt tecmint ved å bruke alternativet som -u
(Bruker) og -l
(Liste).
crontab -u tecmint -l
no crontab for tecmint
Merk: Bare root-brukere har fullstendige rettigheter til å se andre brukeres crontab-oppføringer. Vanlige brukere kan ikke se andre.
4. Fjern Crontab-oppføring
Forsiktig: Crontab med -r
parameteren vil fjerne komplette planlagte jobber uten bekreftelse fra Crontab. Bruk alternativet -i
før du sletter brukerens crontab.
crontab -r
5. Spør før du sletter Crontab
crontab med -i
alternativet vil be deg bekreftelse fra brukeren før du sletter brukerens crontab.
crontab -i -r
crontab: really delete root's crontab?
6. Tillatte spesialtegn (*, -, /, ?, #)
- Asterisk(*) – Match alle verdier i feltet eller en mulig verdi.
- Beststrek(-) – For å definere et område.
- Slash (/) – 1. felt /10 som betyr hvert tiende minutt eller økning i rekkevidde.
- Komma (,) – For å skille elementer.
7. Systemomfattende Cron-plan
En systemadministrator kan bruke den forhåndsdefinerte cron-katalogen som vist nedenfor.
- /etc/cron.d
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
8. Planlegg en jobb for et bestemt tidspunkt
Jobbene nedenfor sletter tomme filer og kataloger fra /tmp kl. 12:30 daglig. Du må nevne brukernavnet for å utføre crontab-kommandoen. I eksemplet nedenfor utfører root-brukeren en cron-jobb.
crontab -e
30 0 * * * root find /tmp -type f -empty -delete
9. Spesielle strenger for felles tidsplan
- @reboot
Kommandoen kjøres når systemet starter på nytt.
- @daily
-
En gang per dag eller kan bruke @midnight.
- @weekly
En gang i uken.
- @yearly
En gang i året. vi kan også bruke nøkkelordet @annualally.
Trenger å erstatte fem felt av cron-kommandoen med nøkkelord hvis du vil bruke det samme.
10. Flere kommandoer med dobbel ampersand(&&)
I eksemplet nedenfor kjører kommando1 og kommando2 daglig.
crontab -e
@daily <command1> && <command2>
11. Deaktiver e-postvarsler.
Som standard sender cron e-post til brukerkontoen som utfører cronjob. Hvis du vil deaktivere den, legg til cron-jobben din som i eksemplet nedenfor. Ved å bruke >/dev/null 2>&1-alternativet på slutten av filen vil du omdirigere alle utdataene fra cron-resultatene under /dev/null.
[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1
konklusjon: Automatisering av oppgaver kan hjelpe oss til å utføre oppgavene våre på bedre måter, feilfrie og effektive. Du kan se en manuell side til crontab for mer informasjon ved å skrive «man crontab»-kommandoen i terminalen.