Ansible: Wie kopiert man Dateien, Verzeichnisse oder Skripte vom lokalen Host auf den Remote-Host?

Veröffentlicht: 2019-02-24

So kopieren Sie Dateien mit Ansible vom lokalen Host auf den Remote-Host

Als Teil der IT-Verwaltungsabteilung haben die Leute mit lots of scripts und Befehlszeilentools zu tun. Ich bin mir sicher, dass Sie täglich mit Situationen konfrontiert sind, in denen Sie Dateien oder Skripte auf Tausende von Remote-Hosts kopieren müssen.

Mitarbeiter der IT-Abteilung melden sich nicht einfach bei thousands of hosts und führen Skripte manuell aus. Und deshalb kommt Ansible ins Bild. Ansible ist eine sehr leistungsstarke IT-Management-Lösung, die für uns kostenlos zur Verfügung steht.

In diesem Tutorial werden wir die Schritte zum Kopieren von Dateien auf den Remote-Host mit Ansible durchgehen.

Was wir tun werden?

Kopieren Sie die Datei crunchify.txt vom Speicherort /opt/ashah/ in das Zielverzeichnis /opt/ashah/ opt/ashah/ des Remote-Hosts 192.66.129.83 .

Schritt 1

Installieren Sie Ansible unter Linux Ubuntu oder macOS. Folgen Sie den Tutorials, um detaillierte Schritte durchzugehen.

Schritt 2

Lassen Sie uns einige Grundlagen und den Dateispeicherort für dieses Tutorial verstehen:

  • Speicherort der Konfigurationsdatei: /etc/ansible/ansible.cfg
  • Skriptdatei: /opt/ashah/crunchify.yml
  • hosts-Datei: /opt/ashah/hosts
  • zu kopierende Datei: /opt/ashah/crunchify.txt (Testdatei)

Schritt 3

Inhalt crunchify.yml -Datei.

Schritt 4

hosts -Dateiinhalt. Stellen Sie sicher, dass Sie die IP-Adresse Ihres Remote-Hosts ändern.

Schritt-5

Erstellen Sie die Datei crunchify.txt mit dem folgenden Inhalt.

Schritt-6

Führen Sie diesen Befehl aus, um die Datei auf den Remote-Host zu kopieren:

  • Command : ansible-playbook -b -vvv -u root crunchify.yml -kkkk –extra-vars „crunchify-group“ -i hosts

Lassen Sie uns alle Parameter verstehen:

  • -b : Operationen mit Become ausführen (dasselbe wie —become).
  • -vvv : Ausführlicher Modus (-vvv für mehr, -vvvv zum Aktivieren des Verbindungs-Debugging).
  • -u : Als dieser Benutzer verbinden (Standard = Keiner).
  • -kkkk : Fragt nach dem Verbindungspasswort.
  • –extra-vars : Setze zusätzliche Variablen als Schlüssel=Wert oder YAML/JSON, wenn dem Dateinamen ein @ vorangestellt ist.
  • -i : Inventarhostpfad oder kommagetrennte Hostliste angeben.

Das ist es. Sie haben die Datei erfolgreich kopiert.

Wie kann ich überprüfen, ob die Datei auf den neuen Remote-Host kopiert wurde?

Melden Sie sich einfach beim Remote-Host an und überprüfen Sie den Speicherort /opt/ashah , und Sie werden die Datei crunchify.txt sehen

Wie kopiere ich einen Verzeichnisinhalt in ein anderes Verzeichnis?

Ändern Sie einfach den src und desc Wert der Datei crunchify.yml . Hier ist eine aktualisierte crunchify.yml-Datei.

Alle Dateien im Ordner /opt/ashah/ werden jetzt auf Remote-Hosts kopiert.

Lassen Sie mich wissen, wenn Sie Fragen zum Kopieren von Dateien an entfernte Speicherorte mit Ansible haben.