Ansible Copy -Befehl

Ansible Copy -Befehl
Wir werden lernen, wie man das Kopiermodul, eines der wichtigsten Ansible -Module, in diesem Leitfaden verwendet. Wir werden die verschiedenen Szenarien für Ansible Copy -Modul in die Praxis umsetzen. Wir halten die Dinge einfach, damit die Benutzer die Idee des Kopiermoduls verstehen können.

Das Kopiermodul ist eines der wichtigsten Module von Ansible, das das integrierte Modul im Ansible-Tool ist. Die Verzeichnisse und Dateien werden mithilfe der Ansible Copy -Module repliziert. Das Kopiermodul hat eine ausreichende Flexibilität. Es wird verwendet, um die Informationen und Dateien von einem lokalen System in die Ziel -Remote -Hosts zu kopieren. Das Kopiermodul kann die Dateien übertragen, bei denen Parameter ersetzt wurden, z. B. die Konfigurationsdateien durch IP -Adressänderungen. Sie können zahlreiche komplizierte Aktivitäten im Ansible Copy -Modul durchführen.

Verschiedene Parameter des Ansible Copy -Moduls

In Anbetracht der folgenden Variablen, die wir anwenden, während wir die Beispiele in die Praxis umlegen.

Erforderliche Parameter:
Um die Verzeichnisse und Dateien auf dem Ziel -Remote -Host zu replizieren, erfordert das Kopiermodul bestimmte Argumente.

Ziel: Der endgültige Zielweg des Dokuments oder der Verzeichnisse. Wenn der ursprüngliche Pfad ein Verzeichnis ist und das Zielverzeichnis nicht angegeben ist, wird das Zielverzeichnis automatisch erstellt. Wenn die ursprüngliche Route jedoch ein Dokument ist und der Zielpfad nicht als Dokument angegeben ist, wird eine Ausnahme ausgelöst. Der genaue relative Weg sollte Sie zum gezielten Punkt bringen.

Optionale Parameter:
Obwohl es zusätzliche optionale Parameter für den Befehl Ansible Copy gibt, konzentrieren wir uns nur auf einige von ihnen. Möglicherweise müssen wir diese Komponente vollständig verstehen.

SRC: Der ursprüngliche Pfad der Verzeichnisse und Dokumente. Abhängig vom Kontext kann dieser Weg entweder relativ oder absolut sein. Die Dokumente und Unterverzeichnisse werden iterativ kopiert, wenn der Ursprungsort das Verzeichnis ist. Es repliziert die Informationen des Verzeichnisses, wenn die Ursprungsadresse ein Wörterbuch ist und mit / endet. Alternativ dupliziert es das Verzeichnis, das den angegebenen Namen auf den gezielten Pfad trägt.

Gewalt: Wenn Dokumentänderungen vorhanden sind, ändert es das Dokument und seinen Standardmodus auf Ja. Wenn die Option Nein ist, wurden die Dokumente übertragen. Sie sind jedoch nicht auf der gewünschten Route anwesend.

Voraussetzungen des Befehls Ansible Copy

Ähnlich wie bei allen anderen Ansible -Modulen enthält das Kopiermodul eine Reihe von Anforderungen, die erfüllt werden müssen, bevor es in einem Ansible Playbook implementiert werden kann. Diese Anforderungen sind die folgenden:

  • Das Remote -Host -Gerät mit einer SSH -Verbindung muss aktiv sein. Wenn es nicht aktiv ist, müssen Sie die Bestandsdatei erstellen, um die SSH -Verbindung herzustellen.
  • Die für Ansible eingerichteten Anmeldeinformationen müssen eingegeben werden.

Beispiel 1: Duplizieren Sie das Dokument auf dem Ziel -Remote -Host -Gerät

Wir implementieren das allererste Szenario des Kopiermoduls. Wir duplizieren das Dokument vom Ansible Controller zum gezielten lokalen Host -Standort. Dazu erstellen wir zunächst das Spielbuch, um das Skript zu schreiben und den Pfad des Controllers und des lokalen Hosts darin zu erwähnen. Das Folgende ist der Befehl zum Erstellen des Ansible Playbooks:

[root@master Ansible]# nano copy_module.YML

Nach dem Erstellen des Copy_Module -Playbooks öffnet es nun automatisch einen neuen Terminalbildschirm. Zunächst übergeben wir die kleine Beschreibung des Beispiels, das wir im Spielbuch implementieren, damit der Benutzer das Beispiel im Parameter „Name“ leicht verstehen kann. Anschließend bieten wir die Variable "Camefact" einen "falschen" Wert für die Variable "sammeln_fakt", damit wir die zusätzlichen Informationen vom Remote -Host erhalten können. Jetzt geben wir den Remote -Host im Parameter „Hosts“ an, der der Localhost ist. Wir mitteilen auch den Verbindungstyp, der die „lokale Verbindung“ ist.

Als nächstes beginnen wir mit der Auflistung der Aufgaben im Ansible-Playbook, indem wir zuerst den Namen der Aufgabe schreiben. Dann schreiben wir die Variable "Kopie". Anschließend übergeben wir das „SRC“ und das „Ziel“, damit wir den Controller -Pfad angeben können, um das Dokument zu duplizieren und in den lokalhost angegebenen Ort einzufügen.

Beenden Sie das Copy_Module.YML Playbook. In diesem Abschnitt werden wir die Inventardatei nicht zur Herstellung der Verbindung herstellen, da wir den lokalen Host hier verwenden. Um die Ergebnisse anzuzeigen, schreiben wir die folgende Anweisung:

[Root@Master Ansible]# Ansible-Playbook Copy_Module.YML

Der folgende Screenshot ist die Ausgabe des zuvor ausgeführten Spielbuchs. In dieser Ausgabe zeigt es uns die Signale „OK“ und die „geänderten“ Signale, die dem Benutzer mitteilen, dass die Aufgaben und Befehle im Spielbuch „Copy_Module“ erfolgreich ausgeführt werden.

Beispiel 2: Dupliziert ein Dokument in ein Verzeichnis, das im lokalen Host nicht vorhanden ist

In diesem Beispiel duplizieren wir das Dokument an den Ort, an dem das Verzeichnis nicht im lokalen Host -Gerät verfügbar ist. Wenn wir beispielsweise ein Dokument haben, das wir mit dem genauen Namen als Originaldokument auf das neue Verzeichnis duplizieren möchten, erstellt das Kopie -Modul das neue Verzeichnis, wenn das Zielverzeichnis nicht auf dem Zielgerät vorhanden ist. Zuerst öffnen wir die Copy_Module.YML Playbook. Dann nehmen wir Änderungen gemäß den Beispielanforderungen vor.

[root@master Ansible]# nano copy_module.YML

Im Spielbuch ändern wir den Zielweg im Parameter „Dest“.

Jetzt führen wir das Spielbuch aus, um die gewünschte Ausgabe in das Terminal zu erhalten, indem wir die folgende Erklärung schreiben:

[Root@Master Ansible]# Ansible-Playbook Copy_Module.YML

Beispiel 3: Duplizierter ein Dokument mit Erlaubnis des Eigentümers

Hier ist das dritte Szenario des Ansible Copy -Modul. Im Spielbuch fügen wir zusätzlich die Parameter des Eigentümers, der Gruppe und des Modus hinzu.

[root@master Ansible]# nano copy_module.YML

Jetzt wird das Spielbuch eröffnet, nachdem die vorherige Erklärung geschrieben wurde:

Um die Ergebnisse zu erhalten, führen wir die folgende Anweisung aus:

[Root@Master Ansible]# Ansible-Playbook Copy_Module.YML

Hier ist das Ergebnis nach dem Ausführen des vorherigen Playbook -Befehls:

Beispiel 4: Duplizierter ein Dokument an einen entfernten Ort

In dieser Illustration möchten wir das Dokument mit dem Kopiermodul von Ansible an den Remote -Standort duplizieren.

[root@master Ansible]# nano copy_module.YML

Nach dem Öffnen des Spielbuchs ändern wir die Befehle.

Wir möchten das Dokument auf den Remote -Host duplizieren, damit wir die Inventardatei erstellen, um die Verbindung zwischen dem Ansible Controller und dem Remote -Host herzustellen. Jetzt erstellen wir die Bestandsdatei über den folgenden Befehl:

[Root@Master Ansible]# Ansible-Playbook Copy_Module.YML

Nachdem wir die Inventardatei erstellt haben, erstellen wir die Verbindung.

Alle:
Gastgeber:
Host1:
Ansible_Host: 192.168.7.10
Ansible_User: Iris
ansible_password: tpstps_1
Ansible_Connection: SSH
Ansible_port: 22

Führen Sie den folgenden Befehl aus, um die gewünschte Ausgabe zu erhalten:

[Root@Master Ansible]# Ansible-Playbook Copy_Module.YML -ich Host.YML

Hier ist das Ergebnis der Durchführung des oben genannten Befehls:

Abschluss

In diesem Artikel wird über das Ansible Copy -Modul erörtert. Wir verstehen nun die obligatorischen und optionalen Parameter des Kopiermoduls des Kopiermoduls. Es sind mehrere Beispiele enthalten, damit die Benutzer sie vollständig erfassen können.