Synlig

Sådan oprettes et katalog i Ansible

Sådan oprettes et katalog i Ansible

Ansible er et af de bedste automatiseringsværktøjer til rådighed, der tilbyder enkle, intuitive og kraftfulde værktøjer til at udføre automatiseringsopgaver i den moderne verden.

For de fleste automatiseringsopgaver skal du oprette mapper, især når du installerer forskellige værktøjer og applikationer, sikkerhedskopier og gendannelser. Selvom du kan udføre disse opgaver ved hjælp af et automatiseret script, giver Ansible bedre funktionalitet, så du kan oprette mapper i specificerede værter.

Denne vejledning viser dig, hvordan du bruger Ansible-filmodulet til at oprette, fjerne og ændre katalogtilladelser for specificerede værter.

Sådan oprettes et katalog i Ansible

En af følgende metoder kan bruges til at oprette en mappe i Ansible:

For at oprette en mappe i Ansible ved hjælp af kommandomodulet skal du indtaste kommandoen vist nedenfor:

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

Efter at have indtastet ovenstående kommando, skal du opnå output vist nedenfor:

Indtast adgangssætning til nøgle '/ hjem / bruger /.ssh / id_rsa ':
[ADVARSEL]: Overvej at bruge filmodulet med tilstand = bibliotek i stedet for at køre 'mkdir'.  Hvis du har brug for kommando, fordi filen er utilstrækkelig, kan du tilføje 'advare: falsk' til denne kommandoopgave eller indstille 'command_warnings = False' i synlig.cfg for at slippe af med denne besked.
35.222.210.12 | ÆNDRET | rc = 0 >>

Kontroller, at din beholdning af Ansible-værter i / etc / ansible / hosts indeholder de korrekte oplysninger om dine eksterne værter.

Selvom kommandomodulet er simpelt at bruge på en enkelt Ansible vært, bliver det meget ineffektivt, når man beskæftiger sig med flere værter med forskellige kataloger og opgaver.

For at imødegå denne ulempe bruger vi Ansible-filmodulet og bygger en playbook, der indeholder de værter, som vi vil bruge, og de mapper, vi ønsker at oprette.

BEMÆRK: Filmodulet kan også bruges som en enkelt kommando i Ansible, men det fungerer meget som kommandomodulet.

For at bruge en Ansible playbook skal du oprette en YAML-fil og indtaste følgende poster for at oprette en mappe:

- værter: alle opgaver:
- navn: Opret filmodul oprett katalog
fil:
sti: ~ / sikkerhedskopier
tilstand: katalog

Gem filen og brug ansible-playbook til at oprette mapper:

ansible-playbook mkdir.yml

Dette skal producere en output som den nedenfor, hvilket indikerer, at handlingerne blev udført med succes ved hjælp af den angivne playbook-fil.

Spil alt] ********************************************** ************************************************** *************
OPGAVER [Indsamling af fakta] ********************************************* ************************************************* **
Indtast adgangssætning til nøgle '/ hjem / bruger /.ssh / id_rsa ':
ok: [35.222.210.12]
TASK [Ansible fil module create directory] ****************************************** **********************************
ok: [35.222.210.12]
SPIL RECAP *********************************************** ************************************************* ***********
35.222.210.12: ok = 2 ændret = 0 ikke tilgængelig = 0 mislykkedes = 0 springet over = 0 reddet = 0 ignoreret = 0

Sådan oprettes flere kataloger med varer

Ansible playbooks giver dig også mulighed for at oprette flere mapper ved hjælp af sætningen with_items i YAML-filen.

For eksempel, for at oprette sikkerhedskopier til de tre tjenester, MySQL, repository og config, kan du oprette den opgave, der vises i YAML-filen nedenfor:

- værter: alle opgaver:
- navn: Ansible Opret flere mapper med_items
fil:
sti: ~ / sikkerhedskopier / item
tilstand: katalog
med_items:
- 'mysql'
- 'arkiv'
- 'config'

Gem ovenstående fil og kør den med ansible-playbook.

$ ansible-playbook mkdir_multi.yml SPIL [alle] ********************************************* ************************************************** ************************************************** ************************************************* ***
OPGAVER [Indsamling af fakta] ********************************************* ************************************************** ************************************************** *****************************************
Indtast adgangskode for nøgle '/ hjem / bruger /.ssh / id_rsa ':
ok: [35.222.210.12]
TASK [Ansible, opret flere mapper med_items] ***************************************** ************************************************* ************************************************* *************
ændret: [35.222.210.12] => (vare = mysql)
ændret: [35.222.210.12] => (vare = lager)
ændret: [35.222.210.12] => (item = config)
SPIL RECAP *********************************************** ************************************************** ************************************************* **************************************************
35.222.210.12: ok = 2 ændret = 1 ikke tilgængelig = 0 mislykkedes = 0 springet over = 0 reddet = 0 ignoreret = 0

Ovenstående playbook skal oprette flere mapper, såsom ~ / backups / mysql, ~ / backups / repository og ~ / backups / config.

$ ls -la

Kataloglisteoutputtet er som vist nedenfor:

i alt 0
drwxrwxr-x. 5 debian debian 51 mar 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 arkiv

Sådan indstilles tilladelser til et bibliotek

Ansible giver dig mulighed for at specificere tilladelser til et bibliotek ved hjælp af tilstandsdirektivet. Overvej følgende playbook, som opretter en mappe og indstiller tilladelser:

- værter: alle
opgaver:
- navn: Ansible oprette katalog og indstil tilladelser
fil:
sti: / sikkerhedskopier
tilstand: katalog
tilstand: "u = rw, g = wx, o = rwx"
blive: ja

I ovenstående post oprettede vi en mappe i /. Vi havde også brug for at blive rod, derfor bliver: ja indrejse.

$ ansible-playbook tilladelse.yml SPIL [alle] ******************************************** ************************************************** ************************************************** ************************************************** ***
OPGAVER [Indsamling af fakta] ********************************************* ************************************************** ************************************************** *****************************************
Indtast adgangskode for nøgle '/ hjem / bruger /.ssh / id_rsa ':
ok: [35.222.210.12]
OPGAVER [Ansible oprette katalog og indstil tilladelser] ***************************************** ************************************************* ************************************************** ****************
ændret: [35.222.210.12]
SPIL RECAP ************************************************ ************************************************** ************************************************* **************************************************
35.222.210.12: ok = 2 ændret = 1 ikke tilgængelig = 0 mislykkedes = 0 springet over = 0 reddet = 0 ignoreret = 0

Hvis du ser tilladelserne til den mappe, vi oprettede, vil du se følgende:

$ ls -lrt / | grep-sikkerhedskopier

Outputtet er som vist nedenfor:

drw - wxrwx.   2 rodrod 6 mar 6 17:36 sikkerhedskopier

Sådan ændres rekursivt tilladelser i et bibliotek

For at ændre tilladelserne til et bibliotek og dets filer rekursivt, skal du blot angive den rekursive post som vist nedenfor:

- værter: alle
opgaver:
- navn: Ansible oprette katalog og indstil tilladelser
fil:
sti: / sikkerhedskopier
tilstand: katalog
tilstand: "u = rw, g = wx, o = rwx"
rekursiv: ja
blive: ja

Sådan indstilles tilladelser i flere biblioteker

Opsætning af tilladelser til flere biblioteker i Ansible er også så simpelt som et par linjer med poster. Overvej følgende playbook.

- værter: alle
opgaver:
- navn: Ansible opret mutliple-bibliotek med tilladelser
fil:
sti: "item.sti "
mode: "item.mode"
tilstand: katalog
med_items:
- sti: '~ / sikkerhedskopier / mysql', tilstand: '0777'
- sti: '~ / backups / repository', mode: '0755'
- sti: '~ / backups / config', tilstand: '0707'

Sådan slettes et bibliotek i Ansible

For at fjerne et bibliotek og alt dets indhold ved hjælp af en Ansible playbook skal du angive tilstanden som fraværende, som vist nedenfor:

- værter: alle
opgaver:
- navn: Ansible slettekatalog
fil:
sti: / sikkerhedskopier
tilstand: fraværende
blive: ja

Denne kommando fjerner biblioteket og alle underordnede filer og mapper.

BEMÆRK: Sørg for, at du har tilladelser til det bibliotek, du arbejder på.

Sådan oprettes et tidsstemplet bibliotek

I nogle tilfælde kan det være nødvendigt at oprette en mappe med et tidsstempel, der kan være meget nyttigt, især når du opretter sikkerhedskopier. For at oprette en tidsstemplet mappe kan vi bruge variablen ansible_date_time.

Overvej følgende playbook:

- værter: alle
opgaver:
- navn: Ansible tilføj tidsstempel til biblioteket
fil:
sti: "/ sikkerhedskopier / mysql ansible_date_time.dato"
tilstand: katalog
tilstand: "0777"
blive: ja

Når du har kørt playbooken, har du en mappe med tidsstemplet.

$ ls -l

Katalogoversigten skal være som vist nedenfor:

i alt 0 drwxrwxrwx. 2 rodrod 6 mar 6 18:03 mysql2021-03-06

BEMÆRK: For at undgå fejl skal du altid kontrollere den YAML-filsyntaks, som du agter at bruge i Ansible.

Konklusion

Denne vejledning viste dig, at arbejde med Ansible-moduler er meget let og intuitivt, hvilket gør automatisering af komplekse opgaver lettere. Ved hjælp af Ansible-filmodulet kan du oprette en eller flere mapper og tilføje tilladelser til hver. Du kan også bruge det samme modul til at fjerne et bibliotek. For mere information om, hvordan du bruger Ansible-filmodulet, se den officielle dokumentation på ressource-siden.

Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...
Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...