Ansible Stat -modulbruk

Ansible Stat -modulbruk
I Linux er statskommandoen et kommandolinjeverktøy som gir detaljert informasjon om filsystemer eller filer.

Ansible, ansett som det mest mangfoldige og populære automatiseringsverktøyet, gir en modul for å hente fil- og filsysteminformasjon som Native Linux Stat -kommando.

I denne guiden vil vi forstå hvordan du jobber med statsmodulen i Ansible Playbooks.

Sjekk om filen eksisterer

Statmodulen vil hente informasjon om en spesifisert fil eller katalog og lagre den ved hjelp av registerparameteren.

I det følgende eksemplet Playbook sjekker vi om filen/var/loggen/alternativene.logg eksisterer.

---
- Navn: Ansible Stat -modul
Verter: Alle
Bli: Ja
oppgaver:
- Navn: Sjekk alternativer.Logg
stat:
Sti:/var/log/alternativer.Logg
Register: Info
- Navn: Fortell om filen er der
Debug:
MSG: Fil eksisterer
Når: Info.stat.eksisterer
- Navn: Fortell om fil mangler
Debug:
MSG: Filen mangler
Når: ikke info.stat.eksisterer

I eksemplet over ringer vi statsmodulen for å samle informasjon om filen/var/log/alternativer.Logg fra den eksterne verten.

Når vi henter filinformasjonen, lagrer vi den i et registerfil_info.

For å sikre at vi kan lese filen, setter vi GEE -parameteren til True.

I den andre oppgaven bruker vi informasjonsregisteret for å sjekke om filen eksisterer. Hvis det er sant, viser vi en melding som indikerer at målfilen eksisterer.

Den endelige oppgaven returnerer et varsel hvis filen ikke eksisterer på den eksterne verten. Dette er tilrettelagt hvis informasjonen.stat.eksisterer er falsk.

Lagre og kjør spillboken:

Ansible-Playbook Play CheckFile.yml

Her er et eksempelutgang:

Utgangen viser at målfilen eksisterer på den eksterne verten.

Sjekk om det eksisterer en katalog

Playbooken for å sjekke om en katalog eksisterer ved hjelp av statsmodulen er lik den som er vist ovenfor. Vi gir imidlertid en vei til en målkatalog som vist nedenfor:

---
- Navn: Ansible Stat -modul
Verter: Alle
Bli: Ja
oppgaver:
- Navn: Sjekk loggkatalog
stat:
Sti:/var/log/
Register: DIR_INFO
- Navn: Fortell om katalogen eksisterer
Debug:
MSG: Målkatalogen eksisterer
Når: Dir_info.stat.eksisterer
- Navn: Fortell om Dir mangler
Debug:
MSG: Katalog mangler
Når: ikke dir_info.stat.eksisterer

Når vi har kjørt spillboken, bør vi se en utgang som ligner den som er vist nedenfor:

Ansible-Playbook Direxists.yml

Sjekk om en bruker eier en fil

Ansible Stat -modulen returnerer en samling av verdier for den spesifiserte filen eller katalogen. En slik returvariabel er PW_Name; Denne variabelen returnerer brukernavnet til målfilen eller katalogseieren.

Vi kan opprette en spillbok som returnerer en melding hvis et spesifikt brukernavn eier den spesifiserte filen. For eksempel:

---
- Navn: Sjekk fileierskap
Verter: Alle
Samle_facts: Nei
Bli: Ja
oppgaver:
- Navn: Få filinfo
stat:
Sti:/var/log/kjerner.Logg
Register: File_Info
- Navn: Eid av Ubuntu Usert?
Debug:
MSG: Fil eies av Ubuntu -brukeren
Når: file_info.stat.PW_NAME != 'Ubuntu'
- Navn: Ikke eid av Ubuntu -brukeren?
Debug:
MSG: Fil eies ikke av Ubuntu -brukeren
Når: ikke file_info.stat.PW_NAME != 'Ubuntu'

I eksemplet over sjekker vi om Ubuntu -brukeren eier filen/var/log/kjernen.Logg. Hvis sant, returnerer vi en passende melding.

Nedenfor er et eksempelutgang:

Sjekk filtypen

En annen returverdi av statsmodulen lar oss sjekke filtypen. Ved å bruke returverdier som ISREG og ISDIR, kan vi sjekke om en fil er en katalog:

---
- Navn: Sjekk filtype
Verter: Alle
bli: dere
oppgaver:
- Navn: Få filinfo
stat:
Sti:/var/log/kjerner.Logg
Register: File_Info
- Navn: Vanlig fil?
Debug:
MSG: Spesifisert bane er en vanlig fil
Når: file_info.stat.Isreg
- Navn: er en katalog?
Debug:
MSG: Spesifisert bane er en katalog
Når: file_info.stat.ISDIR

Lagre og kjør spillboken som:

Ansible statsreturverdier

Følgende er verdiene som er returnert av Ansible Stat -modulen:

  • attributter - Returnerer attributtene til den spesifiserte filen.
  • kjørbar - Returnerer sant hvis den påkallende brukeren har utført tillatelser på målstien.
  • eksisterer - Returnerer sant hvis den spesifiserte banen eksisterer.
  • Gr_name - Returnerer navnet på gruppen til fileieren.
  • Islbk - Returnerer sant hvis den spesifiserte filen er en blokkeringsenhet
  • Ischr - Returnerer sant hvis den spesifiserte filen er en tegnfil.
  • Isreg - Returnerer sant hvis den spesifiserte filen er en vanlig fil
  • ISDIR - Returnerer sant hvis den spesifiserte filen er en katalog.
  • Islnk - Returnerer sant hvis målfilen er en lenke
  • modus - Returnerer filtillatelsen i Octal Notation

Det er noe returinformasjon om Ansible Stat -modulen. Sjekk dokumentasjonen for å lære mer.

Konklusjon

I denne guiden diskuterte vi hvordan du bruker Ansible Stat -modulen for å samle informasjon om filer og filsystemer.