Arbeider med kataloger i Ansible

Arbeider med kataloger i Ansible
Ansible er et nyttig verktøy for effektivt å administrere ressurser over et nettverk av enheter. Det gir forskjellige alternativer til brukere, alt i en pakke. Dette inkluderer flere automatiseringsalternativer og datakonfigurasjon. Hovedkomponentene i Ansible er små programmer som utfører spesifikke oppgaver på et system. Disse kalles moduler, og Ansible har mange av dem (mer enn 800). Så i denne artikkelen går vi over hvordan vi kan installere Ansible og bruke den til å lage en ny katalog hvis man ikke allerede eksisterer. Så uten videre, la oss dykke inn i det.

Installer Ansible

Først installerer vi Ansible hvis den ikke allerede er installert på systemene våre. For å installere Ansible, følg trinnene gitt nedenfor. Hopp til neste del hvis Ansible allerede er installert.

Først og fremst oppdaterer vi systemet vårt slik at alle pakker er oppdatert og ingen problemer oppstår mens vi installerer avhengighetene for Ansible. For å oppdatere systemet, skriver vi inn følgende kommando.

$ sudo apt oppdatering && sudo apt oppgradering

Deretter installerer vi noen pakker som er forutsetningene for å installere Ansible. For å installere disse pakkene, skriver du inn følgende kommando.

$ sudo apt install programvare-properties-vanlig python3 python3-pip python3-dev sshpass apt-transport-https ca-certificates libffi-dev libkrb5-dev libcurl4-openssl-dev libssl-dev-dev

Til slutt kan vi installere Ansible og sjekke versjonen ved hjelp av følgende kommandoer.

$ sudo -h pip3 installasjonssible

Og til slutt:

Ansible -Versjon

Nå som vi har installert Ansible, trenger vi en spillbok for å skrive skript som automatiserer våre daglige oppgaver. En enkel tekstredigerer som Vim bør gjøre, da den ikke bruker mye minne og støtter “YAML” -formatet der ansible skript er skrevet.

La oss nå henvende oss til problemet, og opprette en ny katalog i Ansible hvis den ikke allerede eksisterer. Vi vil beskrive det grunnleggende i en katalog og forklare hvordan vi kan lage nye kataloger på Ansible med noen få eksempler.

Hva er en katalog?

En katalog er et sted som organiserer og lagrer filer på en datamaskin. Du kan tenke på det som et veikart som viser innholdet som er lagret og den nøyaktige plasseringen og divisjonen. Det hjelper brukeren å navigere i filene i systemet ved å utpeke en bestemt bane for hver fil vi har på systemet vårt.

Denne nyttige mekanismen hjelper med å holde systemet vårt organisert uten å forårsake problemer. Tenk deg for eksempel at du har to kamper, Pinball1 og Pinball2. Disse spillene har katalogene sine med sine lagrede data som inneholder alle spillerens fremdrift i de to spillene. Hvis det ikke var noen kataloger for å skille begge spillene, ville mappen "Lagre data" alltid bli overskrevet av spillet som ble spilt sist, og mistet alle tidligere data.

Forskjell mellom en fil og en katalog

Filer og kataloger er to forskjellige begreper. En katalog er et spesifikt område i dataminne som inneholder andre underkataloger og filer. På den annen side kan en fil lagres i en katalog og inneholder informasjon som brukes av systemet for å kjøre forskjellige applikasjoner. Det skal også bemerkes at en fil har en utvidelse, mens en katalog ikke gjør det.

Lag en katalog i Ansible

Vi kan lage en katalog på Ansible ved å bruke filmodulen. Denne modulen brukes til å administrere symlinks, kataloger og filer. Den har også andre funksjoner som å imponere fil og katalogeierskap og tillatelser. Alle disse oppgavene utføres på de eksterne vertene. Et eksempel vist nedenfor forklarer hvordan en ny katalog er laget i Ansible hvis den ikke eksisterer.

- Navn: Katalogdemonstrasjon
fil:
Sti: /src /newdirectory
Tilstand: Katalog
Eier: Root
Gruppe: rot
Mode: 0775

Du kan kjøre spillbøker ved hjelp av følgende kommando:

Ansible-Playbook Testbook.yml

Skriptet over lager en ny katalog som heter “New Director” med Path /etc /newdirectory. Modus er en parameter for filmodulen som indikerer at eieren og gruppen av katalogen kan utføre, lese eller skrive den. Andre kan imidlertid bare utføre eller lese katalogen og dens innhold.

Vi kan lage den samme katalogen på en annen måte, som vist nedenfor.

- Navn: Katalogdemonstrasjon
Ansible.bygget.fil:
Sti: /src /newdirectory
Tilstand: Katalog
Mode: 0775

Sjekk om katalogen eksisterer i Ansible

Å sjekke om en bestemt katalog eksisterer på Ansible følger samme prosedyre som å sjekke for en fil. Den eneste forskjellen er at vi bruker verdien ISDIR for å bekrefte katalogens vei.

- Navn: Sjekk om katalogen allerede eksisterer
Debug:
MSG: “Katalogen eksisterer”
Når: Register_Directory.stst.eksisterer og register_directory.stat.ISDIR

Lag en katalog med en bestemt bane

- Verter: Alle
oppgaver:
- Navn: Katalog med spesifikk bane
fil:
Sti:/hjemme/mappe1/my_new_directory
Tilstand: Katalog

Skriptet over lager en ny katalog i undermappen “Folder1” i Home Directory. Katalogen er laget under filmodulen, som håndterer filene, katalogene og operasjonene omtalt ovenfor.

Endre tillatelser av en katalog

Vi kan endre tillatelsene til hvem som kan lese, skrive eller utføre innholdet i en katalog eller fil på den eksterne verten ved hjelp av Ansible. Skriptet er gitt nedenfor.

- Verter: Alle
oppgaver:
- Navn: Katalogtillatelser
fil:
Sti:/hjemme/mappe1/my_new_directory
Tilstand: Katalog
modus: "u = rw, g = wx, o = rwx"

Her ser vi at vi endret tillatelse (modus) til “u = rw, g = wx, o = rwx” Dette er et symbolsk uttrykk som forteller datamaskinen å la alle lese og skrive i katalogen. Modusen kan være et symbolsk uttrykk eller et oktalt nummer som “0755”.

Tvetydig katalog

I tilfelle vi ikke er sikre på om en katalog allerede eksisterer eller ikke på systemet vårt, kan vi skrive et skript som sikrer at katalogen vil bli sjekket om den eksisterer. Hvis det ikke gjør det, vil en ny katalog med det navnet bli laget på den eksterne verten.

- Verter: Localhost
oppgaver:
- Navn: Sjekk katalogen hvis det finnes
stat:
Sti: /Hjem /Dir1
Register: Nymapper
- Navn: "I tilfelle katalog eksisterte"
Debug:
MSG: "Gitt katalog eksisterer"
Når: Nymapper.stat.eksisterer
- Navn: "Ansible Create Directory hvis ikke eksisterer"
fil:
Sti: /Hjem /Dir1
Tilstand: Katalog
Mode: 0755
Gruppe: rot
Eier: Root
Når: Nytt.stat.eksisterer == falsk

Her viser gruppen og rotet at tilgang er tillatt for "root" -eieren og gruppen

Konklusjon

I denne artikkelen lærte vi om stats- og filmodulene i Ansible og hvordan de hjelper til med å administrere kataloger og filer. Vi gikk også over Ansible -skript i tilfelle vi ønsket å lage en katalog som ikke allerede eksisterer. Vi håper du klarte å finne en løsning på din forvirring angående kataloger i Ansible etter å ha lest denne artikkelen.