Veiledning av filmodul

Veiledning av filmodul
Ansible er et utrolig automatiseringsverktøy som leveres med funksjoner og verktøy for å administrere eksterne verter. Det fungerer ved å implementere moduler for å utføre spesifikke oppgaver og operasjoner.

En praktisk modul i Ansible er filmodulen. Denne modulen er ansvarlig for å utføre oppgaver som å lage filer og kataloger, slette filer og kataloger, lage myke og harde symboliske lenker, legge til og endre fil og katalogtillatelser, og mer.

Denne guiden vil lede deg gjennom hvordan du jobber med Ansible File Module. Vi vil illustrere dette ved hjelp av en samling eksempler og spillbøker.

MERK: Forsikre deg om at du har tilgang til dine eksterne verter som er spesifisert i Ansible's Inventory File.

Hvordan den ansatte filmodulen fungerer

Ansibelen.bygget.Filmodulen er i standard Ansible-installasjon som en del av Ansible-Core. Ansible anbefaler å referere til modulen ved å bruke det "fullt kvalifiserte navnet" i stedet for kort modulnavnet for å unngå konflikter med moduler med lignende navn.

Filmodulen inneholder en samling av forhåndsdefinerte parametere for filhåndtering. Vi bruker disse parametrene for å konfigurere handlingene som er utført på den eksterne verten.

Følgende er viktige parametere du kan bruke:

  1. Eieren - Brukernavn for brukeren som eier den opprettede filen og katalogen
  2. Sti - Bane til filen eller katalogen for å administrere
  3. Modus - Tillatelsesmodus for å angi den spesifiserte filen eller katalogen. Bruk oktal notasjon inne i et par enkelt sitater.
  4. Gruppe - Angir gruppeeierskapet for en fil eller en katalog
  5. Makt - En boolsk verdi som brukes til å tvinge opprettelsen av symlinks hvis kildefilen ikke er tilgjengelig for øyeblikket (men lagt til senere) eller destinasjonssymlink allerede eksisterer.
  6. Følg - Hvis det eksisterer filsystemkoblinger, følg dem.
  7. Attributter - Angir attributter for den spesifiserte filen eller katalogen. Ligner på standard chatTr -verktøyet i Linux
  8. Stat - Definerer konteksten for en fils opprettelse. Aksepterte alternativer inkluderer:
    1. Ta på - Lag en tom fil
    2. Katalog - Lag en katalog
    3. Hard - Lag en hard lenke
    4. Lenke - Lag en myk lenke
    5. Fraværende - Slett filer og katalog rekursivt og koble koblinger

Sjekk Ansible File Module Docs for andre forhåndsdefinerte parametere.

Den beste måten å lære å jobbe med Ansible -filmodulen er etter eksempler på.

Ansible filmodul: Praktiske eksempler

MERK: Denne guiden forutsetter at du har en Ansible Control Node og målvertene dine lagt til i varelagerfilen din.

Hvordan lage en tom fil

For å opprette en tom fil ved hjelp av Ansible -filmodulen, setter vi staten til å berøre som illustrert i spillboken.

---
- Verter: Alle
oppgaver:
- Navn: Opprett tom fil
fil:
Sti: $ Hjem/Touch_File
Stat: berøring

Ovennevnte spillbok inneholder grunnleggende ansible konfigurasjoner:

  1. vert - Angir de eksterne målvertene for å kjøre spillboken. Du kan definere en gruppe eksterne verter eller en enkelt vert.
  2. oppgaver - Ber Ansible om å kjøre den spesifiserte oppgaven på den eksterne verten.
  3. Navn - Angir oppgavens navn som skal kjøres
  4. fil - Ringer Ansible -filmodulen
  5. sti - Definerer en bane på den eksterne maskinen der filen opprettes.
  6. stat - Lag en tom fil ved hjelp av berøring.

Lagre spillboken og kjør den på de eksterne vertene:

Ansible-Playbook Emptyfile.yml

Hvordan lage flere filer

Ansible lar deg lage flere filer i en enkelt oppgave. Nedenfor er et eksempel på spillbok:

---
- Verter: Alle
oppgaver:
- Navn: Lag flere filer
fil:
Sti: $ Hjem/item
Stat: berøring
med_items:
- fil1.c
- Overskrift.h
- File2.py
- File3.tekst
- File4.RB

I spillboken bruker vi to Ansible -oppføringer:

  1. item - Ber Ansible om å lage en unik bane for de spesifiserte filene.
  2. med_item - Oppretter en liste over filer du kan opprette på den eksterne verten. Du kan legge til så mange filer og utvidelser som du synes passer.

Kjør Ansible-Playbook for å opprette spesifiserte flere filer:

Ansible-Playbook MultureFiles.yml

Hvordan lage en fil med innhold

I eksemplene ovenfor lager vi tomme filer ved hjelp av Touch -kommandoen. For å opprette en fil med innhold, kan vi bruke kopimodulen og angi innholdsparameteren til filens innhold.

Nedenfor er et eksempel på spillbok:

---
- Verter: Alle
oppgaver:
- Navn: Opprett fil med innhold
kopiere:
dest: $ hjem/hei.CPP
Innhold: |
#inkludere
Bruke navneområde std
int main ()
cout << "hello world" << endl;
retur 0;

Modulene og parametrene i ovennevnte spillbok er:

  1. kopiere - Involverer Ansible Copy -modulen.
  2. DEST - Destinasjonsbanen for filen din
  3. innhold - Innholdet å legge til filen din. Hver linje legges til en ny linje.

Kjør spillboken:

Ansible-Playbook With Content.yml

Hvordan lage en katalog

Playbooken som brukes til å opprette en katalog ved hjelp av Ansible -filmodulen, ligner på å opprette en tom fil. Som vist nedenfor setter vi imidlertid staten til "katalog" i stedet for "fil":

---
- Verter: Alle
oppgaver:
- Navn: Createadirectory
fil:
Sti: $ Hjem/Ansible-Dir
Tilstand: Katalog

Hvordan du sletter en fil eller symbolsk lenke

Å fjerne filer, kataloger eller symbolske lenker er veldig grei; Alt vi trenger å gjøre er å sette staten til fraværende, som vist i spillboken nedenfor:

---
- Verter: Alle
oppgaver:
- Navn: Fjernfiler
fil:
Sti: $ Hjem/Ansible-Dir
Stat: fraværende

Playbooken vil ikke gjøre noe hvis den spesifiserte filen ikke eksisterer.

Hvordan endre en katalogs tillatelse

Vi bruker spillbokens eier-, gruppe- og modusparametere for å endre en katalogs tillatelse.

Følgende eksempel vil angi de spesifiserte tillatelsene på katalogen.

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: ModifyDirpermissions
fil:
Sti: /var /log
Tilstand: Katalog
Eier: Root
Gruppe: rot
Mode: 0755

I eksemplet playbook ovenfor satte vi oss: sant. Dette er nødvendig når du setter tillatelser for andre brukere, bortsett fra Ansible_user

  1. Bruk oktalnotasjon for å spesifisere tillatelser, inkludert ledende 0.

Bruke symbolsk modus

Ansible lar deg angi tillatelsene i symbolsk modus i stedet for oktalformat. Modusen nedenfor tilsvarer 0777.

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: ModifyDirpermissions i symbolsk format
fil:
Sti:/var/log/
Tilstand: Katalog
modus: u = rwx, g = rwx, o = rwx

MERK: Innstilling 0777 til en katalog som /var /log er ikke den beste praksis, og vi har bare brukt den her til illustrasjonsformål.

Endre katalogtillatelser rekursivt

Hvis du vil endre tillatelser på en katalog rekursivt, kan du bruke Recurse -parameteren som vist i spillboken nedenfor:

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: ModifyDirpermissionsrecursively
fil:
Sti:/var/log/
Tilstand: Katalog
Eier: Root
Gruppe: rot
Mode: 0755
Recurse: True

Innstilling av recurse: True vil påvirke filene i den spesifiserte overordnet katalog.

Hvordan lage en symbolsk lenke

Å opprette en symlink ved hjelp av Ansible -filmodulen er så enkel som å lage en tom katalog. I dette tilfellet satte vi staten til å koble til som vist i eksemplet spillbok nedenfor:

---
- Verter: Alle
- bli: sant
oppgaver:
- Navn: CreateAsymlink
fil:
SRC: $ HOME/SRC_FILE
dest: /etc /dest_symlink
Stat: lenke

Hvordan slette en symbolsk lenke

Å fjerne en symlink ligner på å fjerne en vanlig fil.

---
- Verter: Alle
- bli: sant
oppgaver:
- Navn: RemoveAsymlink
fil:
Sti: /etc /dest_symlink
Stat: fraværende

Hvordan endre tilgangstid

Du kan endre tilgangs- og modifiseringstiden ved hjelp.

Eksempel Playbook:

- bli: sant
oppgaver:
- Navn: ModifyAccessAndModifiedTime
fil:
Sti:/etc/Ansible/verter
Tilstand: fil
Access_time: Nå
modifikasjon_tid: "202110041123.11 "

Vi setter Access_time som den nåværende tiden ved å bruke nå funksjonen.

Du kan også gi tid til Access_Time og Modification_Time -parametere i formatet (som en streng):

Yyyymmddhhmm.Ss

Konklusjon

Denne guiden har hjulpet deg å forstå hvordan du jobber med Ansible File Module i en spillbok.