Negalima

Kaip naudotis galimo registro moduliu

Kaip naudotis galimo registro moduliu
Skiltyje „Ansible“ galite paleisti bet kurią „shell“ komandą savo „Ansible“ kompiuteriuose, pagrindiniuose kompiuteriuose, kuriuos sukonfigūruosite su „Ansible“. Šios apvalkalo komandos gali turėti išėjimus. Pagal numatytuosius nustatymus išvestis nepaisoma. Jei norite išsaugoti išvestį kintamajame ir naudoti ją vėliau, galite naudoti „Ansible“ Registruotis modulis. Šis straipsnis parodys, kaip naudotis „Ansible“ Registruotis modulį, kad komandų išvestis būtų saugoma kintamajame ir vėliau galėtumėte ją pasiekti „Ansible playbook“.

Būtinos sąlygos

Jei norite išbandyti šio straipsnio pavyzdžius, turite:

1) Įdiekite „Ansible“ savo kompiuteryje.

2] Turėkite „Ubuntu“ pagrindinį kompiuterį, sukonfigūruotą „Ansible automatization“.

„LinuxHint“ yra daug straipsnių, skirtų įdiegti „Ansible“ ir konfigūruoti „Ansible“ automatikos pagrindinius kompiuterius. Jei reikia, galite peržiūrėti šiuos straipsnius.

Projektų katalogo nustatymas

Prieš eidami toliau, sukurkite naują „Ansible“ projekto katalogą, kad viskas būtų kiek sutvarkyta.

Norėdami sukurti projekto katalogą register-demo / ir visus reikalingus pakatalogius (dabartiniame darbo kataloge), vykdykite šią komandą:

$ mkdir -pv register-demo / playbooks

Sukūrę projekto katalogą, eikite į projekto katalogą taip:

$ cd register-demo /

Sukurti šeimininkai atsargų byla taip:

$ nano šeimininkai

Į inventoriaus failą įtraukite savo „Ubuntu“ pagrindinio kompiuterio IP arba DNS pavadinimą (po vieną pagrindinį kompiuterį kiekvienoje eilutėje), kaip parodyta žemiau esančiame ekrano kopijoje.

Čia pridėjau savo „Ubuntu 20“.04 LTS vedėjas vm3.nodekitas.com viduje konors ubuntu20 grupė.

Baigę išsaugokite failą paspausdami + X, paskui Y ir .

Sukurkite Ansible konfigūracijos failą įmanoma.plg savo projekto kataloge taip:

$ nano galima.plg

Tada įveskite šias eilutes įmanoma.plg failas:

[pagal nutylėjimą]
inventorius = šeimininkai
host_key_checking = Netiesa

Kai baigsite, išsaugokite įmanoma.plg failą paspausdami + X, paskui Y ir .

Dabar pabandykite pinguoti savo „Ubuntu“ pagrindinį kompiuterį taip:

$ ansible ubuntu20 -u ansible -m ping

Kaip matote, mano „Ubuntu 20“.04 šeimininkas vm3.nodekitas.com yra prieinama.

1 pavyzdys: pagrindai

Šiame pavyzdyje aš jums parodysiu keletą „Ansible“ pagrindų Registruotis modulis. Aš naudosiu „Ansible“, kad sugeneruočiau atsitiktinį slaptažodį savo „Ubuntu 20“.04 pagrindinis kompiuteris naudojant pwgen komandą, išsaugokite slaptažodį kintamajame naudodami Registruotis modulį ir atspausdinkite slaptažodį ekrane.

Pirmiausia sukurkite naują pjesę generuoti.yaml viduje konors grojaraščiai / katalogą:

„$ nano“ grojaraščiai / generuoti_pass.yaml

Įveskite šias eilutes generuoti.yaml failas:

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: Įsitikinkite, kad įdiegta „pwgen“
apt:
vardas: pwgen
būsena: dabartis
„update_cache“: tiesa
- vardas: sugeneruoti slaptažodį
apvalkalas: pwgen-N 1 -s 30
registruotis: mypass
- pavadinimas: atsispausdinkite sugeneruotą slaptažodį
derinti:
msg: "Slaptažodis yra mypass"

Baigę paspauskite + X, paskui Y ir , išsaugoti generuoti.yaml failą.

Šioje eilutėje „Ansible“ nurodoma paleisti pjesę generuoti.yaml kiekvienam kompiuteriui ubuntu20 grupė. Mano atveju pjesė bus paleista šeimininkui vm3.nodekitas.com.

Šioje pjesėje aš apibrėžsiu tris užduotis.

Pirmoji užduotis užtikrins, kad pwgen paketas yra įdiegtas.

Antroji užduotis sugeneruos atsitiktinį 30 simbolių slaptažodį naudodama pwgen komandą. Aš naudosiu Registruotis modulis saugoti sugeneruotą slaptažodį mypass kintamasis.

Trečioji užduotis atspausdins mypass kintamasis naudojant „Ansible“ derinti modulis.

Paleiskite pjesę generuoti.yaml naudojant šią komandą:

$ ansible-playbook playbooks / generator_pass.yaml

Kaip matote, pjesė sėkmingai paleista. Taip pat sugeneruotas slaptažodis.

Bet kodėl kintamasis mypass išspausdink tiek daiktų?

Na, kintamasis mypass yra objektas, kuriame yra keletas svarbių savybių.

Svarbiausios kiekvieno iš savybių Registruotis kintamieji yra šie:

cmd - Komanda, paleista generuoti išvestį.

stdout - Komandos išvestis.

stderr - Komandos klaidos išvestis.

pradžia - Data ir laikas, kada komanda buvo pradėta vykdyti.

galas - Data ir laikas, kai komanda baigė vykdyti.

delta - Komandos vykdymo laikas. Tai yra skirtumas tarp galas ir pradžia savybes.

stdout_lines - Masyvas, kuriame yra kiekviena komandos išvesties eilutė. Taip pat kaip stdout, bet stdout atskiria eilutes naudodami naujos eilutės (\ n) simbolius, o ne masyvus.

stderr_lines -  Masyvas, kuriame yra kiekviena komandos klaidos išvesties eilutė. Taip pat kaip stderr, bet stderr atskiria eilutes naudodami ne masyvus, o naujos eilutės (\ n) simbolius.

Jei norite tiesiog atsispausdinti / pasiekti slaptažodžio eilutę (kas labai tikėtina), galite atsispausdinti / pasiekti stdout nuosavybė mypass kintamasis jūsų grojaraštyje, kaip pažymėta toliau pateiktoje ekrano kopijoje.

„$ nano“ grojaraščiai / generuoti_pass.yaml

Kai baigsite, paleiskite pjesę generuoti.yaml vėl. Bus spausdinama tik slaptažodžio eilutė, kaip matote toliau pateiktoje ekrano kopijoje.

Tai apima „Ansible“ pagrindus Registruotis modulis.

2 pavyzdys: parduotuvės katalogo turinys

Šiame pavyzdyje aš jums parodysiu, kaip katalogo turinį išsaugoti kintamajame naudojant „Ansible“ Registruotis modulis, taip pat kaip juos kartoti.

Pirmiausia sukurkite naują pjesę get_dir_contents.yaml viduje konors grojaraščiai / kataloge.

„$ nano“ grojaraščiai / get_dir_contents.yaml

Tada įveskite šias eilutes get_dir_contents.yaml pjesė:

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: išvardykite visus failus ir katalogus aplanke / home / ansible
apvalkalas: ls / home / ansible
registruotis: dir_contents
- pavadinimas: Spausdinkite katalogo turinį naudodami kilpas
derinti:
pranešimas: „item“
kilpa: "dir_contents.stdout_lines "

Baigę paspauskite + X, paskui Y ir , išsaugoti generuoti.yaml failą.

Šioje pjesėje aš apibrėžsiu dvi užduotis.

Pirmojoje užduotyje nurodomas visas / home / ansible katalogą ir saugo juos dir_contents kintamasis.

Antroji užduotis atspausdina dir_contents kintamasis.

Paleiskite get_dir_contents.yaml pjesė taip.

$ ansible-playbook playbooks / get_dir_contents.yaml

Kaip matote, stdout_lines ypatybė katalogo turinį išsaugojo kaip masyvą. The stdout ypatybė taip pat saugoma katalogo turinyje. Šios savybės atskiriamos naujos eilutės (\ n) simboliais. Šiame pavyzdyje stdout_lines su turtu lengva dirbti.

Tada kartokite katalogo turinį naudodami kilpą.

Norėdami tai padaryti, atidarykite get_dir_contents.yaml vadovėlį ir pakeiskite antrąją užduotį, kaip pažymėta žemiau esančiame paveikslėlyje.

„$ nano“ grojaraščiai / get_dir_contents.yaml

Čia kartojuosi dėl dir_contents.stdout_lines masyvas naudojant kilpą ir masyvo elementų spausdinimas naudojant Ansible derinti modulis. Šioje užduotyje elementą kintamasis yra kilpos kintamasis, naudojamas pakartoti masyvo elementus.

Paleiskite get_dir_contents.yaml pjesė:

$ ansible-playbook playbooks / get_dir_contents.yaml

Kaip matote, / home / ansible katalogas atspausdintas ekrane.

3 pavyzdys: sukurti atsarginę katalogo kopiją

Šiame pavyzdyje parodysiu, kaip sukurti atsarginę katalogo kopiją naudojant „Ansible“ Registruotis, failą, ir kopija moduliai.

Pirmiausia sukurkite naują pjesę atsarginės_namų_direktorius.yaml viduje konors grojaraščiai / katalogą:

„$ nano“ grojaraščiai / atsarginės_namų_dir.yaml

Tada įveskite šias eilutes atsarginės_namų_direktorius.yaml failą.

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: gaukite namų katalogą / home / ansible content
apvalkalas: ls / home / ansible
registruotis: dir_contents
- pavadinimas: sukurkite naują katalogą / tmp / ansible
failas:
kelias: / tmp / ansible
būsena: katalogas
- pavadinimas: Atsarginis namų katalogas / home / ansible to / tmp / ansible
kopija:
src: / home / ansible / item
pask: / tmp / ansible /
remote_src: Tiesa
kilpa: "dir_contents.stdout_lines

Baigę paspauskite + X, paskui Y ir , išsaugoti atsarginės_namų_direktorius.yaml failą.

Šioje pjesėje aš apibrėžsiu tris užduotis.

Pirmoji užduotis saugo / home / ansible katalogą (katalogą, kurio atsarginę kopiją turėsiu sukurti) dir_contents kintamasis naudojant „Ansible“ Registruotis modulis.

Antroji užduotis sukuria naują katalogą / tmp / ansible naudojant Ansible failą modulis. Tai katalogas, kuriame bus saugoma atsarginė kopija.

Trečioji užduotis eina per dir_contents.stdout_lines masyvas ir naudoja Ansible kopija modulis, norėdamas nukopijuoti kiekvieną katalogą į / tmp / ansible / kataloge.

Paleiskite atsarginės_namų_direktorius.yaml pjesė:

$ ansible-playbook playbooks / backup_home_dir.yaml

Kaip matote, mano „Ubuntu 20“.04 LTS priegloba, atsarginė kopija buvo sėkminga.

4 pavyzdys: vykdykite arba praleiskite užduotis

Šiame pavyzdyje aš jums parodysiu, kaip vykdyti arba praleisti užduotis, atsižvelgiant į jūsų užregistruotą kintamąjį, naudojant Registruotis modulis.

Pirmiausia sukurkite naują pjesę registruoti_sąlygos.yaml viduje konors grojaraščiai / katalogą taip:

$ nano grojaraščiai / register_conditions.yaml

Tada įveskite šias eilutes registruoti_sąlygos.yaml failą.

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: išvardykite katalogo turinį
apvalkalas: ls / home / ansible / test3
registruotis: dir_contents
- pavadinimas: Patikrinkite, ar katalogas tuščias
derinti:
msg: "Katalogas tuščias."
kai: dir_contents.stdout == ""

Baigę paspauskite + X, paskui Y ir , išsaugoti registruoti_sąlygos.yaml failą.

Šioje pjesėje aš apibrėžiau dvi užduotis.

Pirmoji užduotis saugo / home / ansible / test3 kataloge dir_contents kintamasis.

Antroji užduotis tikrina, ar dir_contents.stdout yra tuščia eilutė, ar katalogas / home / ansible / test3 Yra tuščias. Jei katalogas tuščias, pranešimas Katalogas tuščias atspausdins.

Paleiskite registruoti_sąlygos.yaml pjesė:

$ ansible-playbook playbooks / register_conditions.yaml

Kaip matote, pjesė sėkmingai paleista.

Nuo katalogo / home / ansible / test3 yra tuščias, pjesė išspausdino pranešimą Katalogas tuščias.

Tada sukurkite naują failą / home / ansible / test3 kataloge.

$ touch test3 / myfile

Kadangi / home / ansible / test3 katalogas nebėra tuščias, užduotis Patikrinkite, ar katalogas tuščias yra praleistas, kaip matote toliau pateiktoje ekrano kopijoje.

$ ansible-playbook playbooks / register_conditions.yaml

Išvada

„Ansible“ Registruotis modulis yra labai naudingas serverio automatizavimui. Šis straipsnis parodė pagrindinius Registruotis modulis, įskaitant „Ansible“ naudojimo pavyzdžius Registruotis modulis katalogų saugojimui ir atsarginei kopijavimui bei katalogo užduočių vykdymui.

Kaip naudoti „Xdotool“, norint paskatinti pelės paspaudimus ir klavišų paspaudimus sistemoje „Linux“
„Xdotool“ yra nemokamas ir atviro kodo komandinės eilutės įrankis, skirtas pelės paspaudimams ir klavišų paspaudimams imituoti. Šis straipsnis apims t...
5 populiariausi „Linux“ skirtų ergonomiškų kompiuterinių pelių produktai
Ar ilgalaikis kompiuterio naudojimas sukelia riešo ar pirštų skausmą?? Ar jūs kenčiate nuo sąnarių standumo ir nuolat turite paspausti rankas? Ar jauč...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...