Jak wydrukować wyjście polecenia w Ansible?

Jak wydrukować wyjście polecenia w Ansible?
Zwykle, gdy uruchamiasz podręcznik Ansible, otrzymasz szczegóły wykonania na terminalu. Obejmują one nazwę gry i zadania oraz podsumowanie odtwarzania wskazujące, czy podręcznik dokonał jakichkolwiek zmian w zarządzanym hoście lub systemie zdalnym

Załóżmy jednak, że chcesz wydrukować dane wyjściowe polecenia wykonywane na zdalnym celu. Jak to robisz? W tym samouczku nauczysz się, jak wydrukować wyjście polecenia w Ansible.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz zainstalowany w systemie Linux. W tym przewodniku prowadzimy Ubuntu 20.04, w którym zainstalowano Ansible. Sprawdź nasz przewodnik na temat instalacji Ansible na Ubuntu 20.04.

Wydrukuj wyjście polecenia w Ansible

Weźmy prosty plik podręcznika, który wymienia katalog domowy zarządzanego hosta lub zdalnego hosta.

---
- Gospodarze: inscenizacja
Nazwa: Wymień zawartość katalogu domowego
Zadania:
- Nazwa: Pliki i folder w katalogu domowym
Shell: „ls -l”

Playbook będzie działał dobrze; Jednak wyjście nie będzie wyświetlane na terminalu. Wszystko, co jest zarejestrowane, to charakter działań odbywających się na zarządzanym hoście.

Po wykonaniu pliku podręcznika każde zadanie zapisuje swoje wyjście w zmiennej. Aby uchwycić dane wyjściowe, musisz określić własną zmienną, na którą wyjście zostanie zapisane. Aby to osiągnąć, używamy ''rejestr' parametr do rejestracji wyjścia do zmiennej. Następnie użyj ''odpluskwić' moduł do wyświetlania treści zmiennej na standard.

Aby to zademonstrować, użyjmy kilku przykładów.

Przykład 1: Wydrukuj wyjście polecenia plików listy w katalogu domowym

Wcześniej podaliśmy przykład pliku podręcznika, który zawiera zawartość katalogu domowego zarządzanego hosta. Jednak, jak dowiedzieliśmy się, wyjście nie jest wydrukowane na standard.

Użyjemy parametru „Rejestr” do rejestrowania wyników w zmiennej o nazwie Command_output, aby rozwiązać ten problem. Następnie wydrukujemy wyjście za pomocą 'odpluskwić' moduł.

Oto kompletny plik Playbook.

---
- Gospodarze: inscenizacja
Nazwa: Wymień zawartość katalogu domowego
Zadania:
- Nazwa: Pliki i folder w katalogu domowym
Shell: „ls -l”
Zarejestruj się: Command_output
- odpluskwić:
var: command_output.StDout_Lines

Po wykonywaniu pliku podręcznika wyjście zawartości katalogu domowego jest wydrukowane na standard.

$ ansible-playbook/etc/ansible/list_contents.yml

Przykład 2: Wydrukuj wyjście polecenia polecenia uptime

Weźmy kolejny scenariusz, w którym drukujemy wyjścieczas aktu„Polecenie na powłoce zarządzanego hosta. Jak zapewne wiesz, polecenie Uptime drukuje szczegóły, takie jak to, jak długo działa system, odkąd był włączony, zalogowany użytkownikom i średnia ładowanie.

Utworzyliśmy plik Playbook o nazwie Check_uptime.yml, jak pokazano.

---
- Gospodarze: inscenizacja
Nazwa: Sprawdź czas aktualnego hosta
Zadania:
- Nazwa: Sprawdź czas aktualnego serwera zdalnego Ubuntu
Shell: czas aktu
Zarejestruj się: Command_output
- odpluskwić:
var: command_output.StDout_Lines

Po wykonaniu szczegóły czasu aktualizacji są wydrukowane na terminalu, jak pokazano.

$ ansible-playbook/etc/ansible/check_uptime.yml

Wniosek

Ten przewodnik pokazuje, w jaki sposób możesz wydrukować wyjście polecenia na standard w Ansible. To było pouczające i że możesz teraz wydrukować wyjście swojego polecenia, aby wyświetlić std.