Hvordan lage og administrere Cron-jobber på Linux


automatisere sikkerhetskopieringsoppgaver, katalogrensing, varsler, etc.

Cron-jobber kjører i bakgrunnen og sjekker hele tiden /etc/crontab-filen, og /etc/cron.*/ og /var/spool/cron/ -kataloger. Cron-filene er ikke ment å redigeres direkte, og hver bruker har en unik crontab.

Hvordan skal du da opprette og redigere cron-jobber? Med crontab-kommandoer. Crontab er metoden du bruker til å opprette, redigere, installere, avinstallere og liste opp cron-jobber.

Kommandoen for å opprette og redigere cron-jobber er den samme og enkel. Og det som er enda kulere er at du ikke trenger å starte cron på nytt etter å ha opprettet nye filer eller redigert eksisterende.

$ crontab -e

Cron-syntaks

Akkurat som det er med alle språk, er det mye enklere å jobbe med cron når du forstår syntaksen og det er 2 formater du bør kjenne til:

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

Forklaring av cron-syntaksen ovenfor:

  • Sv: Minuttområde: 0 – 59
  • B: Timeområde: 0 – 23
  • C: Dagsområde: 0 – 31
  • D: Månedsintervall: 0 – 12
  • E: Ukedager: 0 – 7. Fra mandag representerer 0 eller 7 søndag
  • BRUKERNAVN: Erstatt dette med brukernavnet ditt
  • /path/to/command – Navnet på skriptet eller kommandoen du vil planlegge

Det er ikke alt. Cron bruker 3 operatørsymboler som lar deg spesifisere flere verdier i et felt:

  1. Asterisk (*): angir alle mulige verdier for et felt
  2. Kommaet (,): angir en liste over verdier
  3. Dash (-): angir et verdiområde
  4. Separator (/): angir en trinnverdi

Nå som du kjenner Crons syntaks og operatorer, la oss se noen cron-eksempler.

Eksempler på Cron-jobber

Det første trinnet for å kjøre cron-kommandoer er å installere crontab med kommandoen:

# crontab -e

Kjør /root/backup.sh kl. 03.00 hver dag:

0 3 * * * /root/backup.sh

Kjør script.sh kl. 16.30 den andre i hver måned:

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

Kjør /scripts/phpscript.php kl. 22.00 i løpet av uken:

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

Kjør perlscript.pl 23 minutter etter midnatt, 02.00 og 04.00, hver dag:

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

Kjør Linux-kommando kl 04:05 hver søndag:

5 4 * * sun /path/to/linuxcommand

Cron-alternativer

Liste cron-jobber.

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

Slett alle crontab-jobber.

# crontab -r

Slett Cron-jobb for en bestemt bruker.

# crontab -r -u username

Strenger i Crontab

Strenger er blant utviklerens favoritt ting fordi de bidrar til å spare tid ved å eliminere repeterende skriving. Cron har spesifikke strenger du kan bruke for å lage kommandoer raskere:

  1. @hourly: Kjør én gang hver time, dvs. 0 * * * *
  2. @midnight: Kjør én gang hver dag, dvs. 0 0 * * *
  3. @daily: samme som midnatt
  4. @ukentlig: Kjør én gang hver uke, dvs. 0 0 * * 0
  5. @monthly: Kjør én gang hver måned, dvs. 0 0 1 * *
  6. @årlig: Kjør én gang hvert år, dvs. 0 0 1 1 *
  7. @årlig: samme som @årlig
  8. @reboot: Kjør én gang ved hver oppstart

For eksempel, dette er hvordan du sikkerhetskopierer systemet hver dag:

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

På dette tidspunktet har du alt du trenger for å opprette og administrere systemoppgaver ved hjelp av Cron. Du kan nå begynne å sette opp og vedlikeholde flere miljøer ved å bruke planlagte kommandoer.

Hvor mye Cron-bruker er du? Og er det noen detaljer du kan bidra med i artikkelen? Diskusjonsboksen er nedenfor.

Når du forstår nok om hvordan Crontab fungerer, kan du bruke disse smarte Crontab-generatorverktøyene til å generere crontab-linjer gratis.

Du kan også lese Ubuntus artikkel om hvordan du bruker Cron her. Den har ressurser som du kan finne nyttige.