Ansible

Hur man skapar en katalog i Ansible

Hur man skapar en katalog i Ansible

Ansible är ett av de bästa automatiseringsverktygen som finns, och erbjuder enkla, intuitiva och kraftfulla verktyg för att utföra automatiseringsuppgifter i den moderna världen.

För de flesta automatiseringsuppgifter måste du skapa kataloger, särskilt när du installerar olika verktyg och applikationer, säkerhetskopior och återställningar. Även om du kan utföra dessa uppgifter med ett automatiskt skript, ger Ansible bättre funktionalitet, så att du kan skapa kataloger i angivna värdar.

Denna handledning visar hur du använder Ansible-filmodulen för att skapa, ta bort och ändra katalogbehörigheter för angivna värdar.

Hur man skapar en katalog i Ansible

Vilken som helst av följande metoder kan användas för att skapa en katalog i Ansible:

För att skapa en katalog i Ansible med kommandomodulen anger du kommandot som visas nedan:

$ ansible all -m command -a "mkdir ~ / backups"

Efter att ha angett ovanstående kommando bör du få utdata som visas nedan:

Ange lösenfras för nyckel / hem / användare /.ssh / id_rsa ':
[VARNING]: Överväg att använda filmodulen med state = katalog snarare än att köra 'mkdir'.  Om du behöver använda kommandot eftersom filen är otillräcklig kan du lägga till 'warn: false' i den här kommandot uppgiften eller ställa in 'command_warnings = False' i synligt.cfg för att bli av med det här meddelandet.
35.222.210.12 | ÄNDRAD | rc = 0 >>

Kontrollera att ditt Ansible-värdinventering i / etc / ansible / hosts innehåller rätt information om dina fjärrvärdar.

Även om kommandomodulen är enkel att använda på en enda Ansible-värd, blir den mycket ineffektiv när man hanterar flera värdar med olika kataloger och uppgifter.

För att motverka denna nackdel kommer vi att använda Ansible-filmodulen och bygga en spelbok som innehåller de värdar som vi vill använda och de kataloger som vi vill skapa.

NOTERA: Filmodulen kan också användas som ett enda kommando i Ansible, men det fungerar ungefär som kommandomodulen.

För att använda en Ansible-spelbok skapar du en YAML-fil och anger följande poster för att skapa en katalog:

- värdar: alla uppgifter:
- namn: Ansible filmodul skapa katalog
fil:
sökväg: ~ / säkerhetskopior
tillstånd: katalog

Spara filen och använd ansible-playbook för att skapa kataloger:

ansible-playbook mkdir.yml

Detta bör ge en utdata som den nedan, vilket indikerar att åtgärderna utfördes med framgång med den angivna playbook-filen.

Spela alla] ********************************************** ************************************************** *************
UPPGIFT [Samla fakta] ********************************************* ************************************************* **
Ange lösenfras för nyckel / hem / användare /.ssh / id_rsa ':
ok: [35.222.210.12]
TASK [Ansible filmodul skapa katalog] ****************************************** **********************************
ok: [35.222.210.12]
SPELA RECAP ************************************************ ************************************************* ***********
35.222.210.12: ok = 2 har ändrats = 0 inte kan nås = 0 misslyckades = 0 hoppas över = 0 räddas = 0 ignoreras = 0

Hur man skapar flera kataloger med objekt

Ansible playbooks låter dig också skapa flera kataloger med uttalandet with_items i YAML-filen.

Till exempel, för att skapa säkerhetskopior för de tre tjänsterna, MySQL, förvar och konfiguration, kan du bygga uppgiften som visas i YAML-filen nedan:

- värdar: alla uppgifter:
- namn: Ansible skapa flera kataloger med_items
fil:
sökväg: ~ / säkerhetskopior / item
tillstånd: katalog
med_objekt:
- 'mysql'
- 'förvar'
- 'config'

Spara ovanstående fil och kör den med ansible-playbook.

$ ansible-playbook mkdir_multi.yml SPELA [alla] ******************************************** ************************************************* ************************************************* ************************************************* ***
UPPGIFT [Fakta om samlingen] ********************************************* ************************************************* ************************************************* *****************************************
Ange lösenfras för nyckel / hem / användare /.ssh / id_rsa ':
ok: [35.222.210.12]
TASK [Ansible skapa flera kataloger med_items] ****************************************** ************************************************* ************************************************* *************
ändrats: [35.222.210.12] => (artikel = mysql)
ändrats: [35.222.210.12] => (artikel = förvar)
ändrats: [35.222.210.12] => (artikel = konfiguration)
SPELA RECAP ************************************************ ************************************************* ************************************************* *************************************************
35.222.210.12: ok = 2 har ändrats = 1 kan inte nås = 0 misslyckades = 0 hoppas över = 0 räddas = 0 ignoreras = 0

Ovanstående spelbok bör skapa flera kataloger, till exempel ~ / backups / mysql, ~ / backups / repository och ~ / backups / config.

$ ls -la

Kataloglistans utdata är som visas nedan:

totalt 0
drwxrwxr-x. 5 debian debian 51 mars 6 17:26 .
drwx------. 6 debian debian 117 mar 6 17: 26 ..
drwxrwxr-x. 2 debian debian 6 mar 6 17:26 config
drwxrwxr-x. 2 debian debian 6 mar 6 17:26 mysql
drwxrwxr-x. 2 debian debian 6 mar 6 17:26 förvar

Hur man ställer in behörigheter för en katalog

Ansible låter dig ange behörigheter för en katalog med hjälp av lägesdirektivet. Tänk på följande spelbok, som skapar en katalog och anger behörigheter:

- värdar: alla
uppgifter:
- namn: Ansible skapa katalog och ange behörigheter
fil:
sökväg: / säkerhetskopior
tillstånd: katalog
läge: "u = rw, g = wx, o = rwx"
bli: ja

I posten ovan skapade vi en katalog i /. Vi behövde också bli rot, därav bli: ja inträde.

$ ansible-playbook-tillstånd.yml SPELA [alla] ******************************************** ************************************************* ************************************************* ************************************************* ***
UPPGIFT [Fakta om samlingen] ********************************************* ************************************************* ************************************************* *****************************************
Ange lösenfras för nyckel / hem / användare /.ssh / id_rsa ':
ok: [35.222.210.12]
TASK [Ansible skapa katalog och ange behörigheter] ***************************************** ************************************************* ************************************************* ****************
ändrats: [35.222.210.12]
SPELA RECAP *********************************************** ************************************************* ************************************************** *************************************************
35.222.210.12: ok = 2 har ändrats = 1 kan inte nås = 0 misslyckades = 0 hoppas över = 0 räddas = 0 ignoreras = 0

Om du ser behörigheterna för den katalog som vi skapade ser du följande:

$ ls -lrt / | grep-säkerhetskopior

Utgången är som visas nedan:

drw - wxrwx.   2 rotrot 6 mars 6 17:36 säkerhetskopior

Hur man rekursivt ändrar behörigheter i en katalog

För att ändra behörigheterna för en katalog och dess filer rekursivt, ange bara den rekursiva posten, som visas nedan:

- värdar: alla
uppgifter:
- namn: Ansible skapa katalog och ange behörigheter
fil:
sökväg: / säkerhetskopior
tillstånd: katalog
läge: "u = rw, g = wx, o = rwx"
rekursiv: ja
bli: ja

Hur man ställer in behörigheter i flera kataloger

Att ställa in behörigheter för flera kataloger i Ansible är också så enkelt som några rader med poster. Tänk på följande spelbok.

- värdar: alla
uppgifter:
- namn: Ansible skapa mutliple-katalog med behörigheter
fil:
sökväg: "artikel.sökväg "
läge: "artikel.läge"
tillstånd: katalog
med_objekt:
- sökväg: '~ / backup / mysql', mode: '0777'
- sökväg: '~ / backups / repository', mode: '0755'
- sökväg: '~ / backups / config', mode: '0707'

Hur man tar bort en katalog i Ansible

För att ta bort en katalog och allt dess innehåll med en Ansible-spelbok, ange tillståndet som frånvarande, som visas nedan:

- värdar: alla
uppgifter:
- namn: Ansible radera katalog
fil:
sökväg: / säkerhetskopior
tillstånd: frånvarande
bli: ja

Detta kommando tar bort katalogen och alla barnfiler och kataloger.

NOTERA: Se till att du har behörigheter för den katalog som du arbetar med.

Hur man skapar en tidsstämplad katalog

I vissa fall kan du behöva skapa en katalog med en tidsstämpel bifogad, vilket kan vara mycket användbart, särskilt när du skapar säkerhetskopior. För att skapa en tidsstämplad katalog kan vi använda variabeln ansible_date_time.

Tänk på följande spelbok:

- värdar: alla
uppgifter:
- namn: Ansible lägg till tidsstämpel i katalogen
fil:
sökväg: "/ backup / mysql ansible_date_time.datum"
tillstånd: katalog
läge: "0777"
bli: ja

När du har kört spelboken har du en katalog med tidsstämpeln.

$ ls -l

Kataloglistan ska vara som visas nedan:

totalt 0 drwxrwxrwx. 2 rotrot 6 mar 6 18:03 mysql2021-03-06

NOTERA: För att undvika fel, kontrollera alltid YAML-filsyntaxen som du tänker använda i Ansible.

Slutsats

Denna handledning visade dig att arbeta med Ansible-moduler är väldigt enkelt och intuitivt, vilket gör det enklare att automatisera komplexa uppgifter. Med Ansible-filmodulen kan du skapa en eller flera kataloger och lägga till behörigheter för varje. Du kan också använda samma modul för att ta bort en katalog. Mer information om hur du använder Ansible-filmodulen finns i den officiella dokumentationen på resursidan.

Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...