Ansible Copy Modul ist eines der Module in Dateimodulen in Ansible. Ansible copy module wird verwendet, um die Datei von der Ansible-Maschine auf den Remote-Server zu kopieren. Mit dem Ansible-Kopiermodul können Sie verschiedene Dinge tun, lassen Sie uns sehen, was wir mit dem Ansible-Kopiermodul tun können. In diesem Blog-Beitrag werden wir sehen, ansible copy Module Beispiele und wie die Dateien von ansible Master auf Remote-Server zu kopieren.
Kopieren Sie die Datei mit Kraft ja-Ansible Copy Module
tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp
In diesem Beispiel devops.txt Datei in der ansible Maschine wird an den Zielort in den Remote-Server kopiert werden. aber wenn die gleiche Datei (mit dem gleichen Namen) bereits in Zielort in der Remote-Server existiert, wird es mit der Datei von ansible Maschine zu ersetzen. Es wird nicht darauf geachtet, ob die Datei an einem entfernten Ort existiert oder nicht. Blind wird die Datei vom Ansible-Rechner auf den entfernten Server kopiert.
- Ansible Fetch module tutorial
Standardmäßig ist force yes
tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: yes
So funktionieren beide obigen Codes gleich. Erwähnung von force: ja oder Entfernen von force: ja hängt von Ihnen ab. Zum besseren Verständnis können Sie force: yes.
Kopieren Sie die Datei mit force no-Ansible Copy Module
tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: no
Hier wird es nicht erzwingen. wenn die Datei bereits am Zielort vorhanden ist, wird es die Datei nicht ersetzen. Das bedeutet, dass wir nicht erzwingen, dass die Datei vom Ansible-Rechner zum Remote-Server kopiert wird.
Kopieren eines Verzeichnisses vom Ansible-Rechner zum Remote-Ziel-Ansible Copy Examples
Angenommen, wir haben ein Verzeichnis mit dem Namen scripts. In diesem Verzeichnis haben wir zwei Dateien namens file1 und file2 und ein Linux-Verzeichnis, im Linux-Verzeichnis haben wir zwei Dateien namens file 3 und file 4.
scripts├── file1├── file2└── linux ├── file3 ├── file4
Nun ist die Aufgabe, dass wir das Linux-Verzeichnis an den entfernten Server senden oder kopieren müssen.
tasks:- name: Copy a directory to a remote machine copy: src: /User/scripts/linux dest: /tmp
Durch die Verwendung des obigen Codes können Sie das Linux-Verzeichnis von der Ansible-Maschine an einen entfernten Serverstandort senden oder kopieren.
Siehe am Ende von src:/user/scripts/linux haben wir (/) nicht erwähnt, deshalb wird das Linux-Verzeichnis von der Ansible-Maschine zum entfernten Server kopiert.
Die Ausgabe im entfernten tmp-Verzeichnis.
├── tmp└── linux ├── file3 ├── file4
Wenn Sie (/) am Ende von src erwähnen, werden die Dateien im Linux-Verzeichnis (file3 und file4) in das entfernte Verzeichnis kopiert.
siehe src:/user/scripts/linux/
tasks:- name: Copy files to a remote machine copy: src: /User/scripts/linux/ dest: /tmp
die Ausgabe im entfernten tmp-Verzeichnis
└── tmp ├── file3 ├── file4
Nur die Dateien im Linux-Verzeichnis werden in das entfernte Verzeichnis kopiert, wenn Sie (/) am Ende der Quelle erwähnen.
Kopieren Sie die Datei mit Berechtigungen-Ansible Copy Beispiele
- copy: src: /srd/myfiles/abc.conf dest: /etc/abc.conf owner: abc group: abc mode: 0644
Mit dem obigen Code können Sie die Datei mit verschiedenen Berechtigungen kopieren.
- copy: src: /srd/myfiles/abc.conf dest: /etc/abc.conf owner: abc group: abc mode: "u=rw,g=r,o=r"
Es wird wie das obige Beispiel funktionieren. Hier haben wir die Berechtigungen mit einem symbolischen Modus erwähnt, der 0644 entspricht. Wir können jede Art von Modus verwenden.
Kopieren von Inhalten auf einen entfernten Server – Beispiele für anpassbare Kopien
copy:content: "Hello devops"dest: /tmp/devops.txt
Mit diesem Modul können Sie Inhalte schreiben und diese Inhalte auf den entfernten Server kopieren. Wenn die Datei an einem entfernten Ort noch nicht vorhanden ist, wird die Datei devops.txt erstellt und der Inhalt in devops.txt geschrieben. Hier ist devops.txt ein Dateiname, dem Sie einen beliebigen Dateinamen geben können. Mit dem Modul ansible copy können wir die Datei mit dem Inhalt erstellen.
Wenn Sie mehr über ansible copy wissen wollen, können Sie in der Dokumentation von ansible nachschlagen.
- https://docs.ansible.com/ansible/2.3/copy_module.html