Arbeiten mit Verzeichnissen in Ansible

Arbeiten mit Verzeichnissen in Ansible
Ansible ist ein praktisches Tool zum effizienten Verwalten von Ressourcen über ein Netzwerk von Geräten. Es bietet Benutzern verschiedene Optionen, alle in einem Paket. Dies umfasst mehrere Automatisierungsoptionen und Datenkonfiguration. Die Hauptkomponenten von Ansible sind winzige Programme, die bestimmte Aufgaben auf einem System ausführen. Diese werden als Module bezeichnet, und Ansible hat viele von ihnen (mehr als 800). In diesem Artikel gehen wir also durch. Lassen Sie uns also ohne weiteres in sie eintauchen.

Ansible installieren

Zunächst installieren wir Ansible, wenn es nicht bereits auf unseren Systemen installiert ist. Befolgen Sie die unten angegebenen Schritte, um Ansible zu installieren. Überspringen Sie zum nächsten Teil, wenn Ansible bereits installiert ist.

In erster Linie aktualisieren wir unser System, damit alle Pakete auf dem neuesten Stand sind und bei der Installation der Abhängigkeiten für Ansible keine Probleme auftreten. Um das System zu aktualisieren, geben wir den folgenden Befehl ein.

$ sudo APT Update && sudo APT -Upgrade

Als nächstes installieren wir einige Pakete, die die Voraussetzungen für die Installation von Ansible sind. Um diese Pakete zu installieren, geben Sie den folgenden Befehl ein.

$ sudo apt installieren Software-Properties-Common Python3 Python3-Pip Python3-Dev SSHPass APT-transport-http

Schließlich können wir Ansible installieren und ihre Version mithilfe des folgenden Befehlssatzes überprüfen.

$ sudo -h pip3 install Ansible

Und zuletzt:

Ansible -Version

Nachdem wir Ansible installiert haben, benötigen wir ein Spielbuch, um Skripte zu schreiben, mit denen unsere täglichen Aufgaben automatisiert werden. Ein einfacher Texteditor wie Vim sollte es tun, da er nicht viel Speicher verbraucht und das „YAML“ -Format unterstützt, in dem Ansible -Skripte geschrieben werden.

Wenden wir uns nun dem vorliegenden Problem zu und erstellen Sie ein neues Verzeichnis in Ansible, wenn es noch nicht vorhanden ist. Wir werden die Grundlagen eines Verzeichni.

Was ist ein Verzeichnis?

Ein Verzeichnis ist ein Ort, der Dateien auf einem Computer organisiert und speichert. Sie können es sich als Roadmap vorstellen, der den gespeicherten Inhalt und den genauen Standort und seine genaue Division zeigt. Es hilft dem Benutzer, die Dateien im System zu navigieren, indem es für jede Datei, die wir in unserem System haben.

Dieser nützliche Mechanismus hilft dabei, unser System zu organisieren, ohne Probleme zu verursachen. Stellen Sie sich zum Beispiel vor, Sie haben zwei Spiele, Pinball1 und Pinball2. Diese Spiele haben ihre Verzeichnisse mit ihren gespeicherten Daten, die alle Spieler -Fortschritte in beiden Spielen enthalten. Wenn es keine Verzeichnisse für die Unterscheidung der beiden Spiele gäbe, würde der Ordner „Daten speichern“ immer durch das Spiel, das zuletzt gespielt wurde, überschrieben und alle früheren Daten verloren.

Unterschied zwischen einer Datei und einem Verzeichnis

Dateien und Verzeichnisse sind zwei verschiedene Begriffe. Ein Verzeichnis ist ein bestimmter Bereich im Computerspeicher, der andere Unterverzeichnisse und Dateien enthält. Andererseits kann eine Datei in einem Verzeichnis gespeichert werden und enthält Informationen, die vom System zum Ausführen verschiedener Anwendungen verwendet werden. Es sollte auch beachtet werden, dass eine Datei eine Erweiterung hat, während ein Verzeichnis dies nicht tut.

Ein Verzeichnis in Ansible machen

Wir können ein Verzeichnis auf Ansible erstellen, indem wir das Dateimodul verwenden. Dieses Modul wird zum Verwalten von Symlinks, Verzeichnissen und Dateien verwendet. Es verfügt auch über andere Funktionen wie das Voreinblicken von Datei- und Verzeichnisbesitz und Berechtigungen. Alle diese Aufgaben werden auf den Remote -Hosts ausgeführt. In einem unten gezeigten Beispiel wird erläutert, wie ein neues Verzeichnis in Ansible gemacht wird, wenn es nicht existiert.

- Name: Verzeichnisdemonstration
Datei:
Pfad: /src /newdirectory
Zustand: Verzeichnis
Besitzer: Wurzel
Gruppe: Wurzel
Modus: 0775

Sie können Playbooks mit Hilfe des folgenden Befehls ausführen:

Ansible-Playbook-Testbuch.YML

Das obige Skript macht ein neues Verzeichnis mit dem Namen "New Director" mit Pfad /etc /newdirectory. Der Modus ist ein Parameter des Dateimoduls, der angibt, dass der Eigentümer und die Gruppe des Verzeichnisses es ausführen, lesen oder schreiben können. Andere können jedoch nur das Verzeichnis und seinen Inhalt ausführen oder lesen.

Wir können das gleiche Verzeichnis auf andere Weise machen, wie unten gezeigt.

- Name: Verzeichnisdemonstration
Ansible.gebaut.Datei:
Pfad: /src /newdirectory
Zustand: Verzeichnis
Modus: 0775

Überprüfen Sie, ob das Verzeichnis in Ansible existiert

Überprüfen Sie, ob ein bestimmtes Verzeichnis auf Ansible vorhanden ist. Der einzige Unterschied besteht darin, dass wir den Wert Isdir verwenden, um den Pfad des Verzeichnisses zu bestätigen.

- Name: Überprüfen Sie, ob das Verzeichnis bereits vorhanden ist
Debuggen:
MSG: "Das Verzeichnis existiert"
Wann: Register_Directory.stst.existiert und Register_Directory.Stat.Isdir

Erstellen Sie ein Verzeichnis mit einem bestimmten Weg

- Hosts: Alles
Aufgaben:
- Name: Verzeichnis mit einem bestimmten Pfad
Datei:
Pfad:/home/order1/my_new_directory
Zustand: Verzeichnis

Das obige Skript erstellt ein neues Verzeichnis im Unterordner „Ordner1“ des Heimverzeichnisses. Das Verzeichnis erfolgt unter dem Dateimodul, das die oben diskutierten Dateien, Verzeichnisse und Operationen übernimmt.

Ändern Sie die Berechtigungen eines Verzeichnisses

Wir können die Berechtigungen ändern, wer den Inhalt eines Verzeichnisses oder einer Datei auf dem Remote -Host mit Ansible lesen, schreiben oder ausführen kann. Das Skript ist unten angegeben.

- Hosts: Alles
Aufgaben:
- Name: Verzeichnisberechtigungen
Datei:
Pfad:/home/order1/my_new_directory
Zustand: Verzeichnis
Modus: "U = rw, g = wx, o = rwx"

Hier sehen wir, dass wir die Berechtigung (Modus) in „u = rw, g = wx, o = rwx“ geändert haben. Dies ist ein symbolischer Ausdruck, der dem Computer sagt, dass alle im Verzeichnis lesen und schreiben können. Der Modus kann ein symbolischer Ausdruck oder eine Oktalzahl wie „0755“ sein.

Eindeutiges Verzeichnis

Wenn wir uns nicht sicher sind, ob ein Verzeichnis bereits in unserem System vorhanden ist oder nicht, können wir ein Skript schreiben, das sicherstellt, dass das Verzeichnis überprüft wird, wenn es vorhanden ist. Wenn dies nicht der Fall ist, wird ein neues Verzeichnis mit diesem Namen auf dem Remote -Host vorgenommen.

- Gastgeber: Localhost
Aufgaben:
- Name: Überprüfen Sie das Verzeichnis, falls vorhanden
Stat:
Pfad: /home /dir1
Register: NewFolder
- Name: "Falls das Verzeichnis existiert"
debuggen:
MSG: "Das Verzeichnis gibt es"
Wann: Neufolder.Stat.existiert
- Name: "Ansible erstellen Verzeichnis, wenn nicht existiert"
Datei:
Pfad: /home /dir1
Zustand: Verzeichnis
Modus: 0755
Gruppe: Wurzel
Besitzer: Wurzel
Wann: neu.Stat.existiert == falsch

Hier zeigen die Gruppe und Root, dass der Zugriff für den Besitzer und die Gruppe „Root“ zulässig ist

Abschluss

In diesem Artikel haben wir über die Statuen von Stat- und Datei in ANSIBLE gelernt und wie sie helfen, Verzeichnisse und Dateien zu verwalten. Wir haben auch Ansible -Skripte übergegangen, falls wir ein Verzeichnis erstellen wollten, das noch nicht existiert. Wir hoffen.