crontab

Hvordan planlegge en oppgave i Linux?

Hvordan planlegge en oppgave i Linux?
Når du bruker et UNIX-basert operativsystem, skal visse oppgaver utføres gjentatte ganger. Å kjøre dem manuelt hver eneste gang er tidkrevende og generelt ineffektivt. For å løse dette problemet kommer UNIX med sine innebygde oppgaveplanleggere. Disse oppgaveplanleggerne fungerer som en smart vekkerklokke. Når alarmen går, kjører operativsystemet den forhåndsdefinerte oppgaven.

Når det gjelder Linux, kommer den med to grunnleggende, men kraftige verktøy: Cron-demon (standard oppgaveplanlegger) og på (mer egnet for engangsoppgaveplanlegging).

I denne guiden, sjekk ut hvordan du planlegger en oppgave i Linux.

Planlegg oppgaver i Linux

Cron
Cron-demonen er ansvarlig for å kjøre mange jobber til bestemte tidspunkter. Disse oppgavene kjøres vanligvis i bakgrunnen til planlagte tider. Det gir stor fleksibilitet uavhengig av oppgaven, uavhengig av intervall (time, uke, måned, år eller hva som helst).

Cron holder rede på sine handlinger ved hjelp av crontab-filen. Crontab-filen er et skript som inneholder all nødvendig informasjon for å kjøre alle cron-jobbene.

La oss se raskt på noen av de grunnleggende bruken av cron. I tilfelle noen av følgende kommandoer, blir den konfigurert for rotbrukeren hvis den kjøres med sudo-privilegium. Til demonstrasjonen har jeg tatt en prøve crontab-fil herfra.

For å liste alle planlagte cron-jobber for den nåværende brukeren, kjør følgende kommando. Den skriver ut alt innholdet i crontab-filen.

$ crontab -l


Ønsker cron-jobblisten for en annen bruker? Kjør denne kommandoen i stedet.

$ sudo crontab -u -l


For å redigere crontab-skriptet, kjør kommandoen. For å redigere crontab-filen for root, kjør følgende kommando med sudo-privilegium.

$ crontab -e


Hver linje i crontab-skriptet definerer en oppgave. Her er en rask oversikt over crontab-oppføringene.

$

Her er en liste over alle mulige verdier for alle disse feltene. Hvis det brukes en stjerne (*) i stedet for en numerisk verdi, vil alle mulige verdier i feltet bli brukt.

  • minutt: 0 til 59
  • timer: 0 til 23
  • dag i måneden: 1 til 31
  • måned: 1 til 12
  • ukedag: 0 (søndag) til 6 (lørdag)

For en grundig guide om hvordan du bruker crontab til å automatisere oppgaver, sjekk ut hvordan du konfigurerer cron-jobber i Linux. Her er et annet raskt eksempel på en cron-jobb som kjører hvert minutt.


Mens cron er den viktigste måten å planlegge oppgaver på, tilbyr at muligheten til å kjøre en kommando / skript til et bestemt tidspunkt eller med et fast intervall. Vær oppmerksom på at at vil kjøre måljobben en gang, mens cron vil kjøre jobben på nytt i intervallet. At-verktøyet er mindre populært sammenlignet med cron, men det er relativt enklere å bruke. Du kan bruke bestemte nøkkelord som midnatt eller tid (4 s.M.).

Dette verktøyet kommer ikke forhåndsinstallert i de fleste Linux-distroer. For å installere på, kjør riktig kommando i henhold til distro.

For Debian / Ubuntu og derivater.

$ Sudo apt install -y kl


For CentOS / RHEL og derivater.

$ yum installer kl

For Arch Linux og derivater.

$ sudo Pacman -S kl

For Fedora og derivater.

$ sudo dnf installer kl

Når installasjonen er fullført, aktiverer du daemon.

$ sudo systemctl aktivere - nå atd.service


Arbeidsmåten er litt annerledes. Når du ringer til, må du definere intervallet for å kjøre ønsket oppgave. For eksempel, for å kjøre en bestemt kommando etter en time, bruk følgende kommando.

$ nå + 1 time


Å kjøre ønsket oppgave ved 6 P.M., seks dager fra nå, kjør følgende kommando i stedet.

$ kl 18:00 + 6 dager


Når du kjører kommandoen, vil du be om at kommandoen (e) skal kjøres. For å avslutte at-ledeteksten, trykk “Ctrl + d.”At vil presentere et sammendrag av de planlagte oppgavene og tidspunktet de skal utføres.

Dette er bare grunnleggende bruk. En mer konsistent måte å bruke på kan være å utføre et bash-skript som inneholder alle oppgavene som må utføres. Interessert i å lære mer om bash scripting? Sjekk

$ kl 18:00 + 6 dager -ff