Automatisering af opgaver med Cron

Automatisering af opgaver med Cron

Linux-terminalen giver os mulighed for at gøre ting ud over blot at skrive kommandoer. I dette tilfælde vil vi tale om at automatisere opgaver med Cron. Automatisering gør det ikke blot muligt at undgå gentagne opgaver, men også at lade computeren udføre dem, når vi ikke er til stede. Dette er især nyttigt på servere.

Cron er en dæmon, der er ansvarlig for at udføre opgaver inden for et bestemt tidsinterval. Selvom dens funktion er at håndtere regelmæssige systemvedligeholdelsesopgaver, kan vi tilføje andre, der er af interesse for os.

Når vi taler om dæmoner, henviser vi ikke til en lille djævel inde i vores computer. Inden for datalogi er en dæmon et program eller en proces, der kører i baggrunden af ​​operativsystemet uden at kræve direkte interaktion med brugeren. Deres ansvarsområder omfatter netværksforbindelser, udskrivning, webservere og ressourceovervågning.

Nogle af dens vigtigste funktioner

  • De starter normalt med systemopstart.
  • De kører i baggrunden, uden at brugeren behøver at være opmærksom på deres eksistens.
  • De er designet til at udføre opgaver permanent eller som reaktion på bestemte begivenheder.

Automatisering af opgaver med Cron

Hvis vi vil fortælle Cron, hvad den skal gøre, kan vi gøre det ved hjælp af en crontab-fil. Det er simpelthen en tekstfil, der angiver en række kommandoer, som cron skal udføre på en bestemt dato. Der er to typer crontab-filer: den systemoprettede crontab-fil og den brugeroprettede crontab-fil.

Under ingen omstændigheder bør vi røre systemets crontab-fil, som bruges af Linux til konfiguration og vedligeholdelse. Det er umuligt at ændre den ved en fejl, da filen er placeret i mappen. /etc/crontab.

Oprettelse af vores egne crontabs

Cron kræver, at de opgaver, vi tildeler den, har de parametre, der er angivet i denne rækkefølge:

h: Starttidspunkt i området 0-23.

m: Minutter i intervallet 0-59.

d: Månedens dag mellem intervallet 1-31

måned: Angiver årets måned med et interval fra 1-12

s: Ugedag med intervallet 0-6

Disse data placeres i crontab-filen. For at oprette denne fil skriver vi kommandoen:
crontab –u nombre de usuario –e
Hvis crontab'en skal være til standardbrugeren, kan vi udelade parameteren -u
Når vi kører den for første gang, vil den fortælle os, at filen ikke findes, og foreslå at oprette en og redigere den med en af ​​de editorer, der er installeret på computeren.

Nogle punkter at huske på, når du redigerer crontab, er:

  • Hver opgave går på en linje
  • I alle tilfælde skal dato og tidspunkt for udførelsen af ​​hver opgave angives. For at angive periodicitet (for eksempel tirsdag kl. 18) er der skrevet stjerner i stedet for resten af ​​parametrene.(*)
  • Det er muligt at tildele mere end én værdi til en parameter (for eksempel tirsdag og torsdag kl. 18). Adskil begge værdier med kommaer.
  • Der skal være mellemrum mellem parametrene.
  • Angiv den mappe, hvor kommandostarteren er placeret.

For eksempel, hvis vi vil genstarte computeren hver dag kl. 19:XNUMX:

0 19 * * * /sbin/reboot

Hvis genstarten kun skal være om onsdagen, vil instruktionen være:

0 20 * * 3 /sbin/reboot.

Der er nogle genveje, der giver os mulighed for at undgå at skrive alle parametrene:

@hver timeHvis vi vil udføre en kommando i begyndelsen af ​​hver time.
@daglige: At køre kommandoen i starten af ​​hver dag.
@ugentlig: Kør kommandoen på den første dag i ugen.
@månedlige: Kommandoen udføres i det første minut i hver måned.
@årligtDet samme, men i det første minut af hvert år..
Nogle eksempler på brug af denne kommando:

@daily /bin/sh /ruta_al_script/nombre_del_script.sh Udfør brugerdefinerede instruktioner i et bash-script i begyndelsen af ​​dagen.

@hourly /bin/python3 /ruta_al_script/nombre_del_script.py Får et Python-script til at køre hver time.

Vi bør altid sørge for, at scripts har udførelsestilladelser.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.