Ansible STAT -Modulverbrauch

Ansible STAT -Modulverbrauch
In Linux ist der STAT-Befehl ein Befehlszeilendienstprogramm, das detaillierte Informationen zu Dateisystemen oder Dateien enthält.

Ansible, das als das vielfältigste und beliebteste Automatisierungswerkzeug gilt, bietet ein Modul zum Abrufen von Datei- und Dateisysteminformationen als native Linux -Statusbefehl.

In diesem Leitfaden werden wir verstehen, wie man mit dem STAT -Modul in ansiblen Playbooks arbeitet.

Überprüfen Sie, ob die Datei vorliegt

Das STAT -Modul holt Informationen zu einer angegebenen Datei oder einem bestimmten Verzeichnis und speichert sie mit dem Parameter Register.

Im folgenden Beispiel -Playbook überprüfen wir, ob die Datei/VAR/Protokoll/Alternativen.Protokoll existiert.

---
- Name: Ansible STAT -Modul
Hosts: Alles
Werde: Ja
Aufgaben:
- Name: Alternativen überprüfen.Protokoll
Stat:
Pfad:/var/log/Alternativen.Protokoll
Register: Info
- Name: Teilen Sie an, ob die Datei vorhanden ist
debuggen:
MSG: Datei existiert
Wann: Info.Stat.existiert
- Name: Teilen Sie an, ob die Datei fehlt
debuggen:
MSG: Die fehlende Datei
Wann: nicht info.Stat.existiert

Im obigen Beispiel rufen wir das STAT -Modul auf, um Informationen über die Datei/var/log/Alternativen zu sammeln.Protokollieren Sie vom Remote -Host aus.

Sobald wir die Dateiinformationen abgerufen haben, speichern wir sie in einem Register File_info.

Um sicherzustellen, dass wir die Datei lesen können, setzen wir den werden Parameter auf True festgelegt.

In der zweiten Aufgabe verwenden wir das Info -Register, um zu überprüfen, ob die Datei vorliegt. Wenn wahr, zeigen wir eine Nachricht an, die angibt, dass die Zieldatei vorliegt.

Die endgültige Aufgabe gibt eine Benachrichtigung zurück, wenn die Datei auf dem Remote -Host nicht vorhanden ist. Dies wird erleichtert, wenn die Informationen.Stat.existieren ist falsch.

Speichern und führen Sie das Spielbuch aus:

Ansible-Playbook Play Checkfile.YML

Hier ist ein Beispielausgang:

Die Ausgabe zeigt, dass die Zieldatei auf dem Remote -Host vorhanden ist.

Überprüfen Sie, ob ein Verzeichnis existiert

Das Playbook, um zu überprüfen, ob ein Verzeichnis verwendet wird, das das Statu -Modul unter Verwendung des STAT -Moduls vorliegt. Wir bieten jedoch einen Pfad zu einem Zielverzeichnis, wie unten gezeigt:

---
- Name: Ansible STAT -Modul
Hosts: Alles
Werde: Ja
Aufgaben:
- Name: Protokollverzeichnis überprüfen
Stat:
Pfad:/var/log/
Register: Dir_info
- Name: Sagen Sie, ob das Verzeichnis existiert
debuggen:
MSG: Zielverzeichnis existiert
Wann: Dir_info.Stat.existiert
- Name: Sagen Sie, ob Dir fehlt
debuggen:
MSG: Verzeichnis fehlt
Wann: nicht Dir_info.Stat.existiert

Sobald wir das Spielbuch ausgeführt haben, sollten wir eine ähnliche Ausgabe sehen, die dem unten gezeigten ähnlich ist:

Ansible-Playbook-Direxisten.YML

Überprüfen Sie, ob ein Benutzer eine Datei besitzt

Das Ansible STAT -Modul gibt eine Sammlung von Werten für die angegebene Datei oder das angegebene Verzeichnis zurück. Eine solche Rückkehrvariable ist pw_name; Diese Variable gibt den Benutzernamen der Zieldatei oder des Verzeichnisbesitzers zurück.

Wir können ein Spielbuch erstellen, das eine Nachricht zurückgibt, wenn ein bestimmter Benutzername die angegebene Datei besitzt. Zum Beispiel:

---
- Name: Überprüfen Sie die Dateibesitz
Hosts: Alles
sammle_facts: nein
Werde: Ja
Aufgaben:
- Name: Dateiinformationen abrufen
Stat:
Pfad:/var/log/kern.Protokoll
Register: Datei_info
- Name: Im Besitz von Ubuntu Usert?
debuggen:
MSG: Die Datei gehört dem Ubuntu -Benutzer
Wann: File_info.Stat.PW_NAME != 'Ubuntu'
- Name: Nicht im Besitz des Ubuntu -Benutzers?
debuggen:
MSG: Die Datei gehört nicht dem Ubuntu -Benutzer
Wann: nicht file_info.Stat.PW_NAME != 'Ubuntu'

Im obigen Beispiel überprüfen wir, ob der Ubuntu -Benutzer die Datei/var/log/kern besitzt.Protokoll. Wenn wahr, geben wir eine geeignete Nachricht zurück.

Unten ist ein Beispielausgang:

Dateityp überprüfen

Ein anderer Rückgabewert des Status -Moduls ermöglicht es uns, den Dateityp zu überprüfen. Mithilfe von Rückgabewerten wie ISreg und ISDIR können wir überprüfen, ob eine Datei ein Verzeichnis ist:

---
- Name: Dateityp überprüfen
Hosts: Alles
werden: ye
Aufgaben:
- Name: Dateiinformationen abrufen
Stat:
Pfad:/var/log/kern.Protokoll
Register: Datei_info
- Name: Regelmäßige Datei?
debuggen:
MSG: Der angegebene Pfad ist eine reguläre Datei
Wann: File_info.Stat.Isreg
- Name: Ist ein Verzeichnis?
debuggen:
MSG: Der angegebene Pfad ist ein Verzeichnis
Wann: File_info.Stat.Isdir

Speichern und führen Sie das Spielbuch als: Aus

Ansible stat -Rückgabewerte

Im Folgenden sind die vom Ansible STAT -Modul zurückgegebenen Werte:

  • Attribute - Gibt die Attribute der angegebenen Datei zurück.
  • ausführbar - Gibt true zurück, wenn der aufgerufene Benutzer Berechtigungen auf dem Zielpfad ausgeführt hat.
  • existiert - Gibt true zurück, wenn der angegebene Pfad existiert.
  • Gr_Name - Gibt den Namen der Gruppe des Dateibesitzers zurück.
  • islbk - Gibt true zurück, wenn die angegebene Datei ein Blockgerät ist
  • Istr - Gibt true zurück, wenn die angegebene Datei eine Zeichendatei ist.
  • Isreg - Gibt true zurück, wenn die angegebene Datei eine reguläre Datei ist
  • Isdir - Gibt true zurück, wenn die angegebene Datei ein Verzeichnis ist.
  • Islnk - Gibt true zurück, wenn die Zieldatei ein Link ist
  • Modus - Gibt die Dateiberechtigung in Oktalnotation zurück

Dies sind einige Rückgabeinformationen des Ansible STAT -Moduls. Überprüfen Sie die Dokumentation, um mehr zu erfahren.

Abschluss

In diesem Leitfaden haben wir besprochen, wie das Ansible STAT -Modul verwendet wird, um Informationen zu Dateien und Dateisystemen zu sammeln.