Sådan oprettes og styres Cron Jobs på Linux


automatisere sikkerhedskopieringsopgaver, katalogrensning, meddelelser osv.

Cron-job kører i baggrunden og kontrollerer konstant /etc/crontab -filen og /etc/cron.*/ og /var/spool/cron/ mapper. Cron-filerne formodes ikke at blive redigeret direkte, og hver bruger har en unik crontab.

Hvordan skal du så oprette og redigere cron-job? Med crontab-kommandoer. Crontab er den metode, du bruger til at oprette, redigere, installere, afinstallere og liste cron-job.

Kommandoen til oprettelse og redigering af cron-job er den samme og enkel. Og hvad der er endnu køligere er, at du ikke behøver at genstarte cron efter oprettelse af nye filer eller redigering af eksisterende.

$ crontab -e

Cron-syntaks

Ligesom det er med ethvert sprog, er det meget nemmere at arbejde med cron, når du forstår dens syntaks, og der er to formater, du bør kende:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Forklaring til ovenstående cronsyntaks:

  • A: Protokolinterval: 0 - 59
  • B: Driftstid: 0 - 23
  • C: Dagsinterval: 0 - 31
  • D: Måneders rækkevidde: 0 - 12
  • E: Ugedagens rækkevidde: 0 - 7. Fra mandag repræsenterer 0 eller 7 søndag
  • USERNAME: erstat dette med dit brugernavn
  • /sti/til/kommando - Navnet på det script eller kommando, du vil planlægge

Det er ikke alt. Cron bruger 3 operatørsymboler, som giver dig mulighed for at specificere flere værdier i et felt:

  1. Asterisk (*) : angiver alle mulige værdier for et felt
  2. Kommaet (,) : angiver en liste over værdier
  3. Dash (-) : angiver en række værdier
  4. Separator (/) : angiver en trinværdi

Nu hvor du kender Crons syntaks og operatører, skal vi se nogle eksempler på cron.

Eksempler på Cron Job

Det første trin til at køre cron-kommandoer er at installere din crontab med kommandoen:

# crontab -e

Kør /root/backup.sh kl. 3 hver dag:

0 3 * * * /root/backup.sh

Kør script.sh kl. 16.30 den anden i hver måned:

30 16 2 * * /path/to/script.sh

Kør /scripts/phpscript.php kl. 22 i løbet af ugen:

0 22 * * 1-5 /scripts/phpscript.php

Kør perlscript.pl 23 minutter efter midnat, 02:00 og 04:00 hver dag:

23 0-23/2 * * * /path/to/perlscript.pl

Kør Linux-kommando kl. 04.05 hver søndag:

5 4 * * sun /path/to/linuxcommand

Cron optioner

Liste over cron-job.

# crontab -l
OR
# crontab -u username -l

Slet alle crontab-job.

# crontab -r

Slet Cron-job for en bestemt bruger.

# crontab -r -u username

Strenge i Crontab

Strenge er blandt udviklerens foretrukne ting, fordi de hjælper med at spare tid ved at fjerne gentagende skrivning. Cron har specifikke strenge, du kan bruge til at oprette kommandoer hurtigere:

  1. @hourly : Kør en gang hver time dvs. "0 * * * *"
  2. @midnight : Kør en gang hver dag, dvs. "0 0 * * *"
  3. @daily : samme som midnat
  4. @weekly : Kør en gang hver uge, dvs. "0 0 * * 0"
  5. @monthly : Kør en gang hver måned, dvs. "0 0 1 * *"
  6. @ årligt : Kør en gang om året, dvs. "0 0 1 1 *"
  7. @ årligt : samme som @ årligt
  8. @reboot : Kør én gang ved hver opstart

For eksempel er dette, hvordan du sikkerhedskopierer dit system hver dag:

@daily /path/to/backup/script.sh

På dette tidspunkt har du alt hvad du behøver for at oprette og administrere systemopgaver ved hjælp af Cron. Du kan nu begynde at opsætte og vedligeholde flere miljøer ved hjælp af planlagte kommandoer.

Hvor meget af en Cron-bruger er du? Og er der nogle detaljer, du kan bidrage med til artiklen? Diskussionsfeltet er nedenfor.

Når du forstår nok om, hvordan Crontab fungerer, kan du bruge disse smarte Crontab-generatorværktøjer til at generere crontab-linjer gratis.

Du kan også læse Ubuntus artikel om, hvordan du bruger Cron her. Det har ressourcer, som du måske finder nyttige.