Ансибле

Како се користи модул одговорног регистра

Како се користи модул одговорног регистра
У програму Ансибле можете покренути било коју наредбу љуске на својим домаћинима Ансибле, хостове које ћете конфигурисати помоћу програма Ансибле. Ове наредбе љуске могу имати излазе. Подразумевано се излаз занемарује. Ако желите да ускладиштите излаз у променљиву и користите га касније, можете да користите Ансибле регистровати модул. Овај чланак ће вам показати како се користи Ансибле регистровати модул за чување излаза наредбе у променљивој и приступ каснијем у вашој књизи за репродукцију Ансибле.

Предуслови

Ако желите да испробате примере у овом чланку, морате:

1) Нека је Ансибле инсталиран на рачунару.

2) Нека Убунту домаћин буде конфигурисан за Ансибле аутоматизацију.

На ЛинукХинту постоји много чланака посвећених инсталирању програма Ансибле и конфигурисању хостова за аутоматизацију програма Ансибле. Ако је потребно, можете погледати ове чланке.

Постављање директоријума пројеката

Пре него што наставите даље, подесите нови директоријум пројекта Ансибле, само да ствари буду мало организоване.

Да бисте креирали директоријум пројекта регистер-демо / и све потребне поддиректоријуме (у вашем тренутном радном директоријуму), покрените следећу наредбу:

$ мкдир -пв регистер-демо / плаибоокс

Када се креира директоријум пројекта, дођите до директорија пројекта, како следи:

$ цд регистер-демо /

Створити домаћини списак инвентара, како следи:

$ нано домаћини

Додајте ИП или ДНС име хоста свог Убунту хоста у датотеку инвентара (један хост у реду), као што је приказано на снимку заслона испод.

Ево, додао сам свој Убунту 20.04 ЛТС домаћин вм3.нодеките.цом у убунту20 група.

Када завршите, сачувајте датотеку притиском на + Икс, затим И и .

Направите конфигурациону датотеку Ансибле ансибле.цфг у директоријуму вашег пројекта, како следи:

$ нано ансибле.цфг

Затим укуцајте следеће редове у ансибле.цфг датотека:

[подразумевано]
инвентар = домаћини
хост_кеи_цхецкинг = Нетачно

Када завршите, сачувајте ансибле.цфг датотеку притиском на + Икс, затим И и .

Сада покушајте да пингујете ваш Убунту домаћин, као што следи:

$ ансибле убунту20 -у ансибле -м пинг

Као што видите, мој Убунту 20.04 домаћин вм3.нодеките.цом је доступан.

Пример 1: Основе

У овом примеру ћу вам показати неке од основа Ансиблеа регистровати модул. Користићу Ансибле за генерисање случајне лозинке у мом Убунту-у 20.04 домаћин користећи пвген наредбу, сместите лозинку у променљиву помоћу регистровати модул и одштампајте лозинку на екрану.

Прво направите нову књигу песама генерирај_пролаз.иамл у плаибоокс / директоријум, како следи:

$ нано плаибоокс / генерирај_пролаз.иамл

Унесите следеће редове у генерирај_пролаз.иамл датотека:

- домаћини: убунту20
корисник: ансибле
постати: Истина
задаци:
- име: Уверите се да је инсталиран пвген
погодан:
име: пвген
стање: присутно
упдате_цацхе: Тачно
- име: Генериши лозинку
љуска: пвген -Н 1 -с 30
регистар: мипасс
- име: Одштампајте генерисану лозинку
отклањање грешака:
мсг: "Лозинка је мипасс"

Када завршите, притисните + Икс, затим И и , да спаси генерирај_пролаз.иамл датотека.

Следећи ред говори Ансибле-у да покрене књигу приручника генерирај_пролаз.иамл на сваком домаћину у убунту20 група. У мом случају, играна књига ће се покретати на хосту вм3.нодеките.цом.

У овој књизи приручника дефинисаћу три задатка.

Први задатак ће осигурати да пвген пакет је инсталиран.

Други задатак ће генерисати случајну лозинку од 30 знакова помоћу пвген команда. Користићу регистровати модул за чување генерисане лозинке у мипасс променљива.

Трећи задатак ће одштампати мипасс променљива помоћу Ансибле отклањање грешака модул.

Покрените књигу са играма генерирај_пролаз.иамл користећи следећу команду:

$ ансибле-плаибоок плаибоокс / цреате_пасс.иамл

Као што видите, приручник се успешно покренуо. Такође је генерисана лозинка.

Али, зашто променљива мипасс одштампајте толико предмета?

Па, променљива мипасс је објекат који садржи нека важна својства.

Најважнија својства сваког од регистровати променљиве су следеће:

цмд - Команда која се покренула за генерисање резултата.

стдоут - Излаз наредбе.

стдерр - Излаз грешке наредбе.

почетак - Датум и време када је команда почела да се извршава.

крај - Датум и време када је команда завршила извршење.

делта - Време потребно за покретање команде. То је разлика између крај и почетак својства.

стдоут_линес - Низ који садржи сваку излазну линију наредбе. Исто као стдоут, али стдоут раздваја линије користећи знакове новог реда (\ н) уместо низова.

стдерр_линес -  Низ који садржи сваку линију излаза грешке наредбе. Исто као стдерр, али стдерр раздваја линије помоћу знакова за нове редове (\ н) уместо низова.

Ако само желите да одштампате / приступите низу лозинке (што је врло вероватно), можете да одштампате / приступите стдоут својство мипасс променљива у вашем приручнику, као што је означено на снимку екрана испод.

$ нано плаибоокс / генерирај_пролаз.иамл

Кад завршите, покрените приручник генерирај_пролаз.иамл опет. Штампати ће се само низ лозинке, као што можете видети на снимку екрана испод.

То покрива основе Ансиблеа регистровати модул.

Пример 2: Садржај директорија продавнице

У овом примеру ћу вам показати како да сачувате садржај директоријума у ​​променљивој користећи Ансибле регистровати модул, као и како да их пређете.

Прво направите нову књигу песама гет_дир_цонтентс.иамл у плаибоокс / именик.

$ нано плаибоокс / гет_дир_цонтентс.иамл

Затим укуцајте следеће редове у гет_дир_цонтентс.иамл књига књига:

- домаћини: убунту20
корисник: ансибле
постати: Истина
задаци:
- име: Наведите све датотеке и директоријуме у / хоме / ансибле
љуска: лс / хоме / ансибле
регистар: дир_цонтентс
- име: Штампање садржаја директоријума помоћу петљи
отклањање грешака:
мсг: "ставка"
петља: "дир_цонтентс.стдоут_линес "

Када завршите, притисните + Икс, затим И и , да спаси генерирај_пролаз.иамл датотека.

У овом приручнику ћу дефинисати два задатка.

Први задатак наводи сав садржај датотеке / хоме / ансибле директоријум и чува их у дир_цонтентс променљива.

Други задатак исписује дир_цонтентс променљива.

Покренути гет_дир_цонтентс.иамл играна књига, како следи.

$ ансибле-плаибоок плаибоокс / гет_дир_цонтентс.иамл

Као што видите, стдоут_линес својство је сачувало садржај директоријума као низ. Тхе стдоут својство се такође чува у садржају директоријума. Ова својства су одвојена знаковима новог реда (\ н). У овом примеру, стдоут_линес са имовином је лако радити.

Затим пређите преко садржаја директоријума помоћу петље.

Да бисте то урадили, отворите гет_дир_цонтентс.иамл плаибоок и промените други задатак, као што је означено на снимку екрана испод.

$ нано плаибоокс / гет_дир_цонтентс.иамл

Ево, понављам преко дир_цонтентс.стдоут_линес низ помоћу петље и испис ставки низа помоћу Ансибле отклањање грешака модул. У овом задатку, ставка променљива је променљива петље која се користи за итерацију преко елемената низа.

Покренути гет_дир_цонтентс.иамл приручник, како следи:

$ ансибле-плаибоок плаибоокс / гет_дир_цонтентс.иамл

Као што видите, садржај датотеке / хоме / ансибле директоријуми се штампају на екрану.

Пример 3: Израда резервне копије директоријума

У овом примеру ћу вам показати како направити резервну копију директоријума помоћу Ансибле-а регистровати, датотека, и копија модула.

Прво направите нову књигу песама бацкуп_хоме_дир.иамл у плаибоокс / директоријум, како следи:

$ нано плаибоокс / бацкуп_хоме_дир.иамл

Затим укуцајте следеће редове у бацкуп_хоме_дир.иамл датотека.

- домаћини: убунту20
корисник: ансибле
постати: Истина
задаци:
- име: Набавите садржај кућног директорија / куће / одговора
љуска: лс / хоме / ансибле
регистар: дир_цонтентс
- име: Креирајте нови директоријум / тмп / ансибле
датотека:
путања: / тмп / ансибле
држава: директоријум
- име: Израдите сигурносну копију кућног директоријума / хоме / ансибле на / тмп / ансибле
копија:
срц: / хоме / ансибле / итем
дест: / тмп / ансибле /
ремоте_срц: Тачно
петља: "дир_цонтентс.стдоут_линес

Када завршите, притисните + Икс, затим И и , да спаси бацкуп_хоме_дир.иамл датотека.

У овој књизи приручника дефинисаћу три задатка.

Први задатак чува садржај датотеке / хоме / ансибле директоријум (директоријум који ћу направити сигурносну копију) у дир_цонтентс променљива помоћу Ансибле регистровати модул.

Други задатак ствара нови директоријум / тмп / ансибле користећи Ансибле датотека модул. Ово је директоријум у којем ће се чувати резервна копија.

Трећи задатак петља кроз дир_цонтентс.стдоут_линес низ и користи Ансибле копија модул за копирање сваког директоријума у / тмп / ансибле / именик.

Покренути бацкуп_хоме_дир.иамл приручник, како следи:

$ ансибле-плаибоок плаибоокс / бацкуп_хоме_дир.иамл

Као што видите, на мом Убунту 20.04 ЛТС хост, прављење резервне копије је било успешно.

Пример 4: Покрени или прескочи задатке

У овом примеру ћу вам показати како да покренете или прескочите задатке, у зависности од променљиве коју сте регистровали, користећи регистровати модул.

Прво створите нову књигу песама регистер_цондитионс.иамл у плаибоокс / директоријум како следи:

$ нано плаибоокс / регистер_цондитионс.иамл

Затим укуцајте следеће редове у регистер_цондитионс.иамл датотека.

- домаћини: убунту20
корисник: ансибле
постати: Истина
задаци:
- име: Навести садржај директоријума
љуска: лс / хоме / ансибле / тест3
регистар: дир_цонтентс
- име: Проверите да ли је директоријум празан
отклањање грешака:
мсг: "Директоријум је празан."
када: дир_цонтентс.стдоут == ""

Када завршите, притисните + Икс, затим И и , да спаси регистер_цондитионс.иамл датотека.

У овој књизи приручника дефинисао сам два задатка.

Први задатак чува садржај датотеке / хоме / ансибле / тест3 директоријум у дир_цонтентс променљива.

Други задатак проверава да ли дир_цонтентс.стдоут је празан низ или је ли директоријум / хоме / ансибле / тест3 Празно. Ако је директоријум празан, порука Директориј је празан ће штампати.

Покренути регистер_цондитионс.иамл приручник, како следи:

$ ансибле-плаибоок плаибоокс / регистер_цондитионс.иамл

Као што видите, приручник се успешно покренуо.

Пошто је директоријум / хоме / ансибле / тест3 је празно, књига приручника је одштампала поруку Директориј је празан.

Даље, креирајте нову датотеку у / хоме / ансибле / тест3 именик.

$ тоуцх тест3 / мифиле

Од / хоме / ансибле / тест3 директоријум више није празан, задатак Проверите да ли је директоријум празан се прескаче, као што видите на снимку екрана испод.

$ ансибле-плаибоок плаибоокс / регистер_цондитионс.иамл

Закључак

Тхе Ансибле регистровати модул је веома користан за аутоматизацију сервера. Овај чланак вам је показао основе регистровати модул, укључујући примере коришћења Ансибле регистровати модул за складиштење и израду резервних копија директорија и за извршавање задатака директорија.

ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...
Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...
СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...