Anonīms

Kā izveidot direktoriju pakalpojumā Ansible

Kā izveidot direktoriju pakalpojumā Ansible

Ansible ir viens no labākajiem pieejamajiem automatizācijas rīkiem, kas piedāvā vienkāršus, intuitīvus un jaudīgus rīkus automatizācijas uzdevumu veikšanai mūsdienu pasaulē.

Veicot lielāko daļu automatizācijas uzdevumu, jums būs jāizveido direktoriji, īpaši, instalējot dažādus rīkus un lietojumprogrammas, dublējumus un atjaunojumus. Lai gan jūs varat veikt šos uzdevumus, izmantojot automatizētu skriptu, Ansible nodrošina labāku funkcionalitāti, ļaujot izveidot direktorijus norādītajos resursdatoros.

Šajā apmācībā ir parādīts, kā izmantot faila moduli Ansible, lai izveidotu, noņemtu un modificētu direktoriju atļaujas norādītajiem saimniekiem.

Kā izveidot direktoriju pakalpojumā Ansible

Lai izveidotu direktoriju programmā Ansible, var izmantot kādu no šīm metodēm:

Lai izveidotu direktoriju mapē Ansible, izmantojot komandu moduli, ievadiet tālāk redzamo komandu:

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

Pēc iepriekš minētās komandas ievadīšanas jums vajadzētu iegūt tālāk parādīto izvadi:

Ievadiet atslēgas “home / user /” ieejas frāzi.ssh / id_rsa ':
[BRĪDINĀJUMS]: Apsveriet iespēju izmantot faila moduli ar status = directory, nevis palaist 'mkdir'.  Ja jums ir jāizmanto komanda, jo fails ir nepietiekams, varat šim komandas uzdevumam pievienot “warn: false” vai iestatīt “command_warnings = False”.cfg, lai atbrīvotos no šī ziņojuma.
35.222.210.12 | IZMAIŅA | rc = 0 >>

Pārbaudiet, vai jūsu Ansible hosts krājumā / etc / ansible / hosts ir pareiza informācija par jūsu attālajiem resursdatoriem.

Lai gan komandu moduli ir vienkārši izmantot vienā Ansible resursdatorā, tas kļūst ļoti neefektīvs, strādājot ar vairākiem resursdatoriem ar dažādiem direktorijiem un uzdevumiem.

Lai novērstu šo trūkumu, mēs izmantosim Ansible file moduli un izveidosim playbook, kurā būs saimnieki, kurus vēlamies izmantot, un direktoriji, kurus vēlamies izveidot.

PIEZĪME: Faila moduli var izmantot arī kā vienu komandu Ansible, taču tas darbojas līdzīgi kā komandu modulis.

Lai izmantotu Ansible playbook, izveidojiet YAML failu un ievadiet šādus ierakstus, lai izveidotu direktoriju:

- saimnieki: visi uzdevumi:
- nosaukums: Ansible file module izveidot direktoriju
fails:
ceļš: ~ / dublējumi
stāvoklis: direktorijs

Saglabājiet failu un direktoriju izveidošanai izmantojiet ansible playbook:

ansible-playbook mkdir.yml

Tam vajadzētu radīt tādu izvadi kā zemāk, norādot, ka darbības tika veiksmīgi veiktas, izmantojot norādīto atskaņošanas grāmatas failu.

SPĒLĒT [visu] ****************************************** **** *************
UZDEVUMS [Faktu apkopošana] ********************************************** ****************************************** **** **
Ievadiet atslēgas “home / user /” ieejas frāzi.ssh / id_rsa ':
labi: [35.222.210.12]
UZDEVUMS [Ansible file module create directory] ******************************************* **********************************
labi: [35.222.210.12]
SPĒLĒJIET PĀRSKATU *************************************************** ***********
35.222.210.12: ok = 2 mainīts = 0 nav sasniedzams = 0 neizdevās = 0 izlaists = 0 izglābts = 0 ignorēts = 0

Kā izveidot vairākus direktorijus ar vienumiem

Iespējamās atskaņošanas grāmatas ļauj arī izveidot vairākus direktorijus, izmantojot YAML faila priekšrakstu with_items.

Piemēram, lai izveidotu trīs pakalpojumu, MySQL, repozitorija un config, dublējumkopijas, varat izveidot uzdevumu, kas parādīts zemāk esošajā YAML failā:

- saimnieki: visi uzdevumi:
- nosaukums: Var izveidot vairākus direktorijus with_items
fails:
ceļš: ~ / backups / item
stāvoklis: direktorijs
with_items:
- "mysql"
- "krātuve"
- 'config'

Saglabājiet iepriekš minēto failu un palaidiet to ar ansible-playbook.

$ ansible-playbook mkdir_multi.yml PLAY [viss] *********************************************** ****************************************** **** *************************************************** ****************************************** **** ***
UZDEVUMS [Faktu apkopošana] *************************************** *************************************************** *************************************************** ******************************************
Ievadiet atslēgas “home / user /” ieejas frāzi.ssh / id_rsa ':
labi: [35.222.210.12]
UZDEVUMS ****************************************** **** ****************************************** **** *************
mainījies: [35.222.210.12] => (vienums = mysql)
mainījies: [35.222.210.12] => (vienums = krātuve)
mainījies: [35.222.210.12] => (vienums = konfigurācija)
SPĒLĒJIET PĀRSKATU ****************************************** **** ****************************************** **** ***************************************************
35.222.210.12: ok = 2 mainīts = 1 nav sasniedzams = 0 neizdevās = 0 izlaists = 0 izglābts = 0 ignorēts = 0

Iepriekš minētajai playbook vajadzētu izveidot vairākus direktorijus, piemēram, ~ / backups / mysql, ~ / backups / repository un ~ / backups / config.

$ ls -la

Direktoriju saraksta izeja ir šāda:

kopā 0
drwxrwxr-x. 5 debian debian 51 6. marts 17:26 .
drwx------. 6 debian debian 117. marts 6 17: 26…
drwxrwxr-x. 2 debian debian 6. marts 6 17:26 konfigur
drwxrwxr-x. 2 debian debian 6. marts 6 17:26 mysql
drwxrwxr-x. 2 debian debian 6. marta 6. 17:26 krātuve

Kā iestatīt direktorija atļaujas

Ansible ļauj norādīt direktorija atļaujas, izmantojot režīma direktīvu. Apsveriet šo playbook, kas izveido direktoriju un nosaka atļaujas:

- saimnieki: visi
uzdevumi:
- nosaukums: iespējams izveidot direktoriju un iestatīt atļaujas
fails:
ceļš: / dublējumi
stāvoklis: direktorijs
režīms: "u = rw, g = wx, o = rwx"
kļūt: jā

Iepriekš minētajā ierakstā mēs izveidojām direktoriju mapē /. Mums arī bija jākļūst par saknēm, līdz ar to arī ierakstam:.

$ ansible-playbook atļauja.yml PLAY [viss] ******************************************** *************************************************** *************************************************** *************************************************** ***
UZDEVUMS [Faktu apkopošana] *************************************** *************************************************** *************************************************** ******************************************
Ievadiet atslēgas “home / user /” ieejas frāzi.ssh / id_rsa ':
labi: [35.222.210.12]
UZDEVUMS [Ansible create directory and set permissions] **************************************** ****************************************** **** ****************************************** **** ****************
mainījies: [35.222.210.12]
SPĒLĒJIET PĀRSKATU ****************************************** **** ****************************************** **** ***************************************************
35.222.210.12: ok = 2 mainīts = 1 nav sasniedzams = 0 neizdevās = 0 izlaists = 0 izglābts = 0 ignorēts = 0

Ja skatīsit izveidotā direktorija atļaujas, redzēsiet:

$ ls -lrt / | grep dublējumus

Rezultāts ir šāds:

drw - wxrwx.   2 saknes saknes 6. marta 6. 17:36 dublējumi

Kā rekursīvi mainīt atļaujas direktorijā

Lai rekursīvi mainītu direktorija un tā failu atļaujas, vienkārši norādiet rekursīvo ierakstu, kā parādīts zemāk:

- saimnieki: visi
uzdevumi:
- nosaukums: iespējams izveidot direktoriju un iestatīt atļaujas
fails:
ceļš: / dublējumi
stāvoklis: direktorijs
režīms: "u = rw, g = wx, o = rwx"
rekursīvs: jā
kļūt: jā

Kā iestatīt atļaujas vairākos direktorijos

Vairāku direktoriju atļauju iestatīšana pakalpojumā Ansible ir tikpat vienkārša kā dažas ierakstu rindas. Apsveriet šo grāmatu.

- saimnieki: visi
uzdevumi:
- nosaukums: Ansible izveidot mutliple direktoriju ar atļaujām
fails:
ceļš: "item.ceļš ”
režīms: "item.režīms "
stāvoklis: direktorijs
with_items:
- ceļš: '~ / backups / mysql', režīms: '0777'
- ceļš: '~ / backups / repository', režīms: '0755'
- ceļš: '~ / backups / config', režīms: '0707'

Kā izdzēst direktoriju

Lai noņemtu direktoriju un visu tā saturu, izmantojot Ansible playbook, norādiet stāvokli kā neesošu, kā parādīts zemāk:

- saimnieki: visi
uzdevumi:
- nosaukums: Ansible izdzēst direktoriju
fails:
ceļš: / dublējumi
stāvoklis: nav
kļūt: jā

Šī komanda noņems direktoriju un visus bērnu failus un direktorijus.

PIEZĪME: Pārliecinieties, vai jums ir atļaujas direktorijai, pie kura strādājat.

Kā izveidot laika zīmoga direktoriju

Dažos gadījumos jums var būt nepieciešams izveidot direktoriju ar pievienotu laika zīmogu, kas var būt ļoti noderīgs, it īpaši, veidojot dublējumkopijas. Lai izveidotu direktoriju ar laika zīmogu, mēs varam izmantot mainīgo ansible_date_time.

Apsveriet šo spēļu grāmatu:

- saimnieki: visi
uzdevumi:
- nosaukums: Anonīms pievienot laika zīmogu direktorijai
fails:
ceļš: "/ backups / mysql ansible_date_time.datums"
stāvoklis: direktorijs
režīms: "0777"
kļūt: jā

Kad palaidīsit atskaņošanas grāmatu, jums būs direktorijs ar laika zīmogu.

$ ls -l

Direktoriju sarakstam jābūt šādam:

kopā 0 drwxrwxrwx. 2 saknes sakne 6. marts 6 18:03 mysql2021-03-06

PIEZĪME: Lai izvairītos no kļūdām, vienmēr pārbaudiet YAML failu sintaksi, kuru plānojat izmantot sadaļā Ansible.

Secinājums

Šī apmācība parādīja, ka darbs ar Ansible moduļiem ir ļoti vienkāršs un intuitīvs, vienkāršojot sarežģītu uzdevumu automatizāciju. Izmantojot Ansible file moduli, varat izveidot vienu vai vairākus direktorijus un katram pievienot atļaujas. To pašu moduli var izmantot arī direktorijas noņemšanai. Lai iegūtu papildinformāciju par to, kā izmantot moduli Ansible File, pārbaudiet oficiālo dokumentāciju resursu lapā.

Kā nomainīt peles kreiso un labo pogu operētājsistēmā Windows 10
Tas ir diezgan normāli, ka visas datora peles ierīces ir ergonomiski izstrādātas lietotājiem ar labo roku. Bet ir pieejamas peles ierīces, kas ir īpaš...
Atdariniet peles klikšķus, virzot kursoru, izmantojot operētājsistēmā Windows 10 bezklikšķu peli
Peles vai tastatūras lietošana nepareizā pozā, ja to lieto pārmērīgi daudz, var izraisīt daudz veselības problēmu, tostarp spriedzi, karpālā kanāla si...
Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...