11 Cron Scheduling Task Eksempler i Linux


I denne artikel vil vi gennemgå og se, hvordan vi kan planlægge og køre opgaver i baggrunden automatisk med jævne mellemrum ved hjælp af Crontab-kommandoen. Det er en skræmmende opgave for systemadministrator at håndtere et hyppigt job manuelt. En sådan proces kan planlægges og køres automatisk i baggrunden uden menneskelig indgriben ved hjælp af cron-dæmon i Linux eller Unix-lignende operativsystem.

For eksempel kan du automatisere proces som backup, planlægge opdateringer og synkronisering af filer og mange flere. Cron er en dæmon til at køre tidsplanopgaver. Cron vågner op hvert minut og kontrollerer tidsplanopgaver i crontable. Crontab (CRON TABle) er en tabel, hvor vi kan planlægge sådanne slags gentagne opgaver.

Tip: Hver bruger kan have sin egen crontab til at oprette, ændre og slette opgaver. Som standard er cron aktiveret for brugere, men vi kan begrænse tilføjelsen af post i /etc/cron.deny-filen.

Crontab-fil består af en kommando pr. Linje og har seks felter faktisk og adskilt fra mellemrum eller fane. De første fem felter repræsenterer tid til at køre opgaver, og det sidste felt er til kommando.

  1. Minute (hold værdier mellem 0-59)
  2. Time (hold værdier mellem 0-23)
  3. Månedens dag (hold værdier mellem 1-31)
  4. Årets måned (hold værdier mellem 1-12 eller jan-dec. Du kan bruge de første tre bogstaver i hver måneds navn, dvs. jan eller juni.)
  5. Ugedag (hold værdier mellem 0-6 eller søn-lør. Her kan du også bruge de første tre bogstaver i hver dags navn, dvs. søn eller ons.)
  6. Kommando

Liste eller administrer opgaven med crontab-kommando med -l mulighed for nuværende bruger.

# crontab -l

00 10 * * * /bin/ls >/ls.txt

For at redigere crontab-post skal du bruge -e som vist nedenfor. I nedenstående eksempel åbnes tidsplanjob i VI editor. Foretag de nødvendige ændringer, og stop med at trykke på: wq-taster, som automatisk gemmer indstillingen.

# crontab -e

For at liste planlagte job for en bestemt bruger kaldet tecmint ved hjælp af indstillingen som -u (Bruger) og -l (Liste).

# crontab -u tecmint -l

no crontab for tecmint

Bemærk: Kun rodbruger har fuldstændige rettigheder til at se andre brugeres crontab-post. Normal bruger kan ikke se det andre.

Forsigtig: Crontab med -r parameter fjerner komplette planlagte job uden bekræftelse fra crontab. Brug indstillingen -i, før du sletter brugerens crontab.

# crontab -r

crontab med -i-indstillingen vil bede dig om bekræftelse fra brugeren, inden brugerens crontab slettes.

# crontab -i -r

crontab: really delete root's crontab?

  1. Asterik (*) - Match alle værdier i feltet eller enhver mulig værdi.
  2. Bindestreg (-) - For at definere rækkevidde.
  3. Skråstreg (/) - 1. felt/10 betyder hvert tiende minut eller stigning i rækkevidde.
  4. Komma (,) - At adskille emner.

Systemadministrator kan bruge foruddefineret cron-bibliotek som vist nedenfor.

  1. /etc/cron.d
  2. /etc/cron.daily
  3. /etc/cron.hourly
  4. /etc/cron.monthly
  5. /etc/cron.weekly

Nedenstående job sletter tomme filer og bibliotek fra/tmp kl. 12:30 dagligt. Du skal nævne brugernavn for at udføre crontab-kommando. I nedenstående eksempel udfører rodbruger cron-job.

# crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

Brug for at erstatte fem felter med cron-kommando med nøgleord, hvis du vil bruge det samme.

I nedenstående eksempel kører command1 og command2 dagligt.

# crontab -e

@daily <command1> && <command2>

Som standard sender cron mail til brugerkonto, der udfører cronjob. Hvis du vil deaktivere det, skal du tilføje dit cron-job svarende til nedenstående eksempel. Brug af>/dev/null 2> & 1-indstillingen i slutningen af filen omdirigerer alt output fra cron-resultaterne under/dev/null.

 crontab -e
* * * * * >/dev/null 2>&1

konklusion: Automatisering af opgaver kan hjælpe os med at udføre vores opgave bedre måder, fejlfri og effektivt. Du kan se manualsiden til crontab for at få flere oplysninger ved at skrive kommandoen 'man crontab' i din terminal.