So drucken die Befehlsausgabe in Ansible?

So drucken die Befehlsausgabe in Ansible?
Wenn Sie ein Ansible Playbook ausführen, erhalten Sie normalerweise Ausführungsdetails auf dem Terminal aus. Dazu gehören der Name des Spiels und die Aufgabe und eine Wiederholung der Wiedergabe, die angibt, ob das Spielbuch Änderungen am verwalteten Host- oder Remote -System vorgenommen hat

Angenommen, Sie möchten die Befehlsausgabe des Befehls drucken, der auf dem Remote -Ziel ausgeführt wird. Wie geht es dir?? In diesem Tutorial lernen Sie, wie Sie den Befehlsausgang in Ansible drucken.

Voraussetzungen

Stellen Sie vor dem Start sicher, dass Sie ansible auf Ihrem Linux -System installiert sind. In diesem Leitfaden führen wir Ubuntu 20 aus.04, in dem Ansible installiert wurde. Schauen Sie sich unsere Anleitung zur Installation von Ansible auf Ubuntu 20 an.04.

Druckenbefehlsausgabe in Ansible

Nehmen Sie eine einfache Playbook -Datei, in der das Heimverzeichnis des verwalteten Hosts oder Remote -Hosts aufgelistet ist.

---
- Hosts: Inszenierung
Name: Listen Sie den Inhalt des Heimverzeichnisses auf
Aufgaben:
- Name: Listendateien und Ordner im Home -Verzeichnis
Shell: 'ls -l'

Das Spielbuch wird einwandfrei laufen; Der Ausgang wird jedoch nicht am Terminal angezeigt. Alles, was protokolliert ist.

Wenn eine Spielbuchdatei ausgeführt wird, speichert jede Aufgabe ihre Ausgabe in einer Variablen. Um die Ausgabe zu erfassen, müssen Sie Ihre eigene Variable angeben, in die die Ausgabe gespeichert wird. Um dies zu erreichen, verwenden wir die ''registrieren' Parameter, um die Ausgabe auf eine Variable aufzunehmen. Dann benutze die ''debuggen' Modul zum Anzeigen des Inhalts der Variablen, der so standardhaft ausgeht.

Um dies zu demonstrieren, verwenden wir einige Beispiele.

Beispiel 1: Drucken Sie die Befehlsausgabe von Listungsdateien im Home -Verzeichnis aus

Zuvor haben wir ein Beispiel für eine Playbook -Datei geliefert, in der der Inhalt des Heimverzeichnisses eines verwalteten Hosts aufgeführt ist. Wie wir jedoch herausgefunden haben, wird die Ausgabe jedoch nicht auf Standard ausgedruckt.

Wir werden den Parameter "Register" verwenden, um die Ergebnisse in einer Variablen mit dem Namen command_output aufzuzeichnen, um dieses Problem zu beheben. Dann drucken wir die Ausgabe mit der 'debuggen' Modul.

Hier ist die komplette Playbook -Datei.

---
- Hosts: Inszenierung
Name: Listen Sie den Inhalt des Heimverzeichnisses auf
Aufgaben:
- Name: Listendateien und Ordner im Home -Verzeichnis
Shell: 'ls -l'
Register: command_output
- debuggen:
var: command_output.stdout_lines

Wenn die Playbook -Datei ausgeführt wird.

$ Ansible-Playbook/etc/ansible/list_contents.YML

Beispiel 2: Drucken Sie die Befehlsausgabe des Uptime -Befehls aus

Nehmen wir ein weiteres Szenario, in dem wir die Ausgabe von 'druckenBetriebszeitBefehl auf der Hülle des verwalteten Hosts. Wie Sie vielleicht wissen, druckt der Verfügungsbefehl für Uptime Details wie das Laufen des Systems, seit es eingeschaltet wurde, sich bei den Benutzern angemeldet und durchschnittlich laden.

Wir haben eine Playbook -Datei mit dem Titel erstellt check_uptime.YML, wie gezeigt.

---
- Hosts: Inszenierung
Name: Überprüfen Sie die Laufzeit des Remote -Hosts
Aufgaben:
- Name: Überprüfen Sie die Versuch des Remote -Ubuntu -Servers
Shell: Verfügbarkeit
Register: command_output
- debuggen:
var: command_output.stdout_lines

Bei der Ausführung werden die Laufzeitdetails wie gezeigt zum Terminal gedruckt.

$ Ansible-Playbook/etc/ansible/check_uptime.YML

Abschluss

Diese Anleitung zeigt, wie Sie die Ausgabe des Befehls in Standard in Ansible ausdrucken können. Dies war aufschlussreich und Sie können jetzt die Ausgabe Ihres Befehls zu std out drucken.