Kjører skript med Ansible Cron -modulen

Kjører skript med Ansible Cron -modulen
Ansible er et enkelt verktøy som brukes til å automatisere forskjellige oppgaver og manuelle IT -prosesser. Den fungerer som en nodesjef over SSH og kan dele automatisering over hele organisasjoner som automatiserte daglige oppgaver, programvareinstallasjon, distribusjon, konfigurasjonsadministrasjon og mange flere.

Ansible moduler

Ansible inneholder moduler som er et stykke av skriptet som drives av Ansible på vegne av brukeren for å samhandle med systemet og utføre spesifikke oppgaver som involverer sjekker eller automatisering. Disse modulene kan samhandle med et eksternt eller lokalt system for å gjøre ønskede endringer. Ansible inneholder et stort sett med moduler, godt over 800.

I denne artikkelen kaster vi litt lys på Cron -modulen og bruken. Denne modulen, sammen med andre, kan brukes fra CLI (terminalen) eller i en playbook -oppgave. Det skal bemerkes at modulene kan skrives i hvilken som helst tekstredigerer av brukernes valg så lenge de støtter YAML -formatet og returnerer JSON -formatdata.

Cron -modul

I forskjellige Linux -operativsystemer er en Cron et verktøy som brukes til å kjøre et sett med skript eller kommandoer på et forhåndsdefinert tidspunkt. Denne planlagte kjøringen blir ofte referert til som en "cronjobb.”

Denne modulen kan brukes som et frittstående verktøy på Linux uten behov for Ansible; For brukervennlighet når det gjelder tilbud og plattform, foretrekkes imidlertid Ansible, da det kan gjøre tilgjengeligheten vår enkel, og dermed gi oss mange andre funksjoner i form av forskjellige moduler.

For å administrere forskjellige Cron -jobber, må vi for eksempel skrive koden manuelt på terminalen; Imidlertid kan vi med Ansible kvitte oss med det kjedelige arbeidet og redusere feil betydelig ved å bruke spillboken til å sette opp Cron -jobbene for servere vi ønsker å konfigurere.

Som nevnt før bruker Ansible moduler på terminalen eller i spillboken. CRON -modulen kan administrere oppføringer av Crontab ved å bruke lekeboken.

CRON -modulen administrerer crontab, nærmere bestemt crontab -oppføringene. Den har flere parametere, som kort er diskutert nedenfor.

Parametere

Streng som navn: Dette er strengen som fungerer som et navn for en gitt crontab. Denne parameteren skal være unik. I tilfelle det ikke er det, vil vi få vår forrige Cron -oppgave erstattet av de nyere med samme navn.

Streng som en tilstand: Denne strengen spesifiserer om funksjonen er til stede eller fraværende. For eksempel ønsker vi å fjerne en gammel oppgave som ikke lenger er nødvendig. Vi kan fjerne jobben som er forhåndsinnstilt som "#Assible: Tidligere jobb" fra vår crontab. Nå vil staten dukke opp som fraværende.

Streng som jobb: Denne strengen er vanligvis kommandoen vi er i ferd med å utføre. Det er ikke nødvendigvis nødvendig hvis staten vår er fraværende; Imidlertid, i tilfelle av en nåværende tilstand, trenger vi jobboppføringen på vår crontab. Denne strengen kan ikke ha mellomrom.

Streng som bruker: Denne strengen er for den spesifikke brukeren hvis crontab skal endres.

Tid: Denne strengen inkluderer tidsstempel som inneholder forskjellige parametere relatert til tid som en uke, dag, måned, år, time, minutt. Oppføringen kan skrives som "0,7,6 ** ls-alh>/dev/null" for å antyde jobbkjøringen på 6. og 7. time.

Spesiell tid. Denne parameteren inneholder spesielle tidsverdier som årlig, ukentlig, time, månedlig, omstart osv., for å gjøre jobbene mer periodiske.

Eksempler

La oss lage en ny oppføring på Linux -systemet vårt som en Ansible Playbook.

$ CD ~
$ Mkdir Ansible-Workspace
$ CD Ansible-Workspace

Deretter kaller vi vår Ansible -bok (det skal bemerkes at spillboken har .YAML -forlengelse).

$ vim crontest.yml

Med dette skal følgende åpne.

Nå som vi er i spillboken, kan vi legge til følgende innhold.

-Verter: Alle
bli: sant
oppgaver:
-Navn: “CronModule Demonstration”
Ansible.bygget.Cron
Navn: “Test”
Stat: Nåværende
ukedag: “*”
Måned: “*”
Dag: “*”
time: “*”
minutt: “*”
Jobb: “Cache = klar”

Kjør nå denne spillboken ved å skrive følgende kommando inn i Linux -skallet:

Ansible-Playbook Testbook.yml

Koden beskrevet ovenfor bruker cronjob for å planlegge et bestemt tidspunkt for å utføre jobben sin. I dette tilfellet er jobben å fjerne dataene fra bakgrunnsapplikasjoner. Dette minnet blir referert til som cache, og det anbefales å rengjøre det regelmessig, slik at systemet vårt kan utføre uten unødvendig belastning. Cronjob beskrevet ovenfor har verter satt til “alle.”Dette betyr at alle eksterne systemer vil få Cronjob utført på dem, og tilstanden forblir sann så lenge spillboken blir utført.

Den tredje linjen beskriver oppgaven til Cronjob, navnet på oppgaven vises som "Cronjob Demonstration", som vil vises i Ansible Execution Log. Den neste linjen viser den innebygde modulen “Ansible. bygget.Cron ”

Flere tidstrenger er merket som “*” som betegner standarddrift av CRON. Ovennevnte data viser at Cronjob vil bli utført onsdag klokka 05.00 i inneværende måned; Jobben er å tømme hurtigbufferen.

Fordeler

CRON -modulen gir flere fordeler for oss, inkludert.

  • Ikke noe minne om yrket mens du løper.
  • Enklere overføring av kontroll til brukeren når Cronjob utfører.
  • Selv om Cronjob ikke utføres av en eller annen ukjent grunn, vil den sette i gang igjen i den angitte tidsstrengen.

Konklusjon

I denne artikkelen gikk vi over CRON -modulen for Ansible, ansvarlig for tidsplanene til flere jobber vi ønsker å tildele systemet vårt. Det er en viktig kjernekommando når det gjelder å automatisere flere jobber over en bestemt tidsramme. Vi håper du klarte å forstå arbeidet med Cron -modulen og fjerne spørsmålene dine etter å ha lest denne artikkelen.