Ansible

Ansible archivieren und entarchivieren

Ansible archivieren und entarchivieren
Ansible ist ein großartiges Tool zur Automatisierung Ihres Konfigurationsmanagements. Der Vorteil von Ansible besteht darin, dass Sie auf den Remote-Rechnern keinen Client einrichten müssen. Solange eine SSH-Verbindung mit Ihrem Kontrollknoten besteht, können Sie Ihre Befehle ausführen run. Archiv und Unarchive sind Ansible-Module für die Komprimierung.

Wofür wird das Archivieren und Unarchivieren verwendet??

Das Ansible-Archiv hilft Ihnen, Dateien in die Formate bz2, gz, tar, xz und zip zu komprimieren. Sie können Dateien und Ordner auf lokalen oder Remote-Hosts komprimieren.

Das Ansible unarchive entpackt Archive. Das Standardverhalten des Dearchivierens besteht darin, vom lokalen auf den Remote-Host zu kopieren und dann zu dekomprimieren.

Warum archivieren und entarchivieren??

Die Module Archivieren und Unarchivieren sind nützlich, um große Dateien und Ordner zwischen Host-Rechnern zu verschieben. Wenn Sie beispielsweise über eine Reihe von NGINX-Konfigurationsdateien verfügen, können Sie mit dem Befehl unarchive einen gezippten Ordner von einer URL herunterladen und entpacken. Andererseits kann das Archivmodul verwendet werden, um Dateien und Ordner für die zukünftige Verwendung zu sichern.

Ein Beispiel

Lassen Sie uns versuchen, ein Ansible-Playbook auszuführen, um die Befehle zum Archivieren und Dearchivieren auszuprobieren. In diesem Beispiel verwenden wir den localhost sowohl als Quelle als auch als Ziel. Wir werden zuerst einen Ordner mit ein paar Dateien erstellen, ihn zippen und dann an einen neuen Ort entpacken.

Versuchen wir es mit den folgenden Ordnern /test1 und /test2. Erstellen Sie im Ordner test1 den Ordner project mit text1.txt und text2.TXT.

# mkdir test1
# mkdir test2
# CD-Test1
# mkdir-Projekt
# Projekt/Text berühren1.TXT
# Projekt/Text berühren2.TXT

Wir haben also diese Verzeichnisstruktur in test1:

# Baumtest1
test1
'-- Projekt
|-- text1.TXT
'-- text2.TXT
 
1 Verzeichnis, 2 Dateien

Lassen Sie uns ein einfaches Playbook namens Archive erstellen.yml im Ordner test1 mit folgendem Inhalt:

---
- name: Dies ist ein Archivbeispiel
Gastgeber: 127.0.0.1
Aufgaben:
- name: Archiviert die Dateien und Ordner
Archiv:
Pfad: /test1/projekt/*
Ziel: /test1/Projekt.Postleitzahl
Format: zip

Das Playbook weist Ansible an, eine ZIP-Datei namens project . zu erstellen.zip mit dem gesamten Inhalt im Projektordner auf dem lokalen Host (127.0.0.1).

Lass uns das Playbook laufen lassen.

# ansible-playbook-Archiv.yml
[WARNUNG]: Vorausgesetzt, dass die Hosts-Liste leer ist, ist nur localhost verfügbar. Notiere dass der
impliziter localhost stimmt nicht mit 'all' überein
 
PLAY [Dies ist ein Archivbeispiel]
************************************************* ********************************
**********
 
AUFGABE [Sammeln von Fakten]
************************************************* ********************************
********************************
Okay: [127.0.0.1]
 
AUFGABE [Archiviert die Dateien und Ordner]
************************************************* ********************************
******************
geändert: [127.0.0.1]
 
ZUSAMMENFASSUNG SPIELEN
************************************************* ********************************
*********************************************
127.0.0.1                  : ok=2    changed=1    nicht erreichbar=0    fehlgeschlagen=0

Wenn wir überprüfen, sehen wir, dass Ansible die ZIP-Datei erstellt hat:

# ls
Archiv.yml-Projekt  Projekt.Postleitzahl

Jetzt dearchivieren wir. Wir können ein Unarchive erstellen.yml-Datei mit folgendem Inhalt im Ordner /test2:

---
- name: Dies ist ein Beispiel zum Entarchivieren
Gastgeber: 127.0.0.1
Aufgaben:
- name: Dearchiviert die Zip-Datei
entarchivieren:
src: /test1/projekt.Postleitzahl
Ziel: /test2

Lassen Sie uns das Playbook ausführen:

# ansible-playbook Unarchive.yml
[WARNUNG]: Vorausgesetzt, dass die Hosts-Liste leer ist, ist nur localhost verfügbar. Notiere dass der
impliziter localhost stimmt nicht mit 'all' überein
 
PLAY [Dies ist ein Beispiel zum Entarchivieren]
************************************************* ********************************
********************
 
AUFGABE [Sammeln von Fakten]
************************************************* ********************************
*********************************
Okay: [127.0.0.1]
 
AUFGABE [Entpackt die ZIP-Datei]
************************************************* *********************************
********************
geändert: [127.0.0.1]
 
SPIELRÜCKBLICK
************************************************* *********************************
******************************************
127.0.0.1                  : ok=2    changed=1    nicht erreichbar=0    fehlgeschlagen=0=

Wenn wir nun den Ordner test2 überprüfen:

# ls
Entarchivieren.yml text1.txt Text2.TXT

Wir sehen, dass der Text1.txt und text2.txt-Dateien wurden in den Ordner /test2 dekomprimiert.

Mit Ansible Playbooks haben wir einen Ordner erfolgreich archiviert und an einem anderen Ort dearchiviert.

Weitere Studie:

So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...