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.