Ansible Copy Examples Ansible Copy Module

Ansible copy module jest jednym z modułów w modułach plikowych w Ansible. Moduł Ansible copy służy do kopiowania plików z maszyny ansible na zdalny serwer. Z modułem ansible copy można robić różne rzeczy, zobaczmy co możemy zrobić z modułem ansible copy. W tym wpisie zobaczymy przykłady modułów ansible copy oraz jak skopiować pliki z ansible master na zdalny serwer.

Copy the file with force yes-Ansible Copy Module

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp

W tym przykładzie plik devops.txt w maszynie ansible zostanie skopiowany do lokalizacji docelowej na zdalnym serwerze. ale jeśli ten sam plik (o tej samej nazwie) już istnieje w lokalizacji docelowej na zdalnym serwerze, zostanie zastąpiony plikiem z maszyny ansible. Nie będzie zwracał uwagi na to, czy plik istnieje, czy nie istnieje w zdalnej lokalizacji. Na ślepo skopiuje plik z maszyny ansible na zdalny serwer.

  • Ansible Fetch module tutorial

domyślnie, force jest yes

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: yes

Więc oba powyższe kody działają tak samo. Wspomnienie o force: tak lub usunięcie force: tak, to zależy od ciebie. Dla lepszego zrozumienia możesz wspomnieć siłę: tak.

Kopiuj plik z siłą nie-Ansible Copy Module

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: no

Tutaj nie będzie wymuszać. jeśli plik już istnieje w lokalizacji docelowej nie zastąpi pliku. Oznacza to, że nie wymuszamy kopiowania pliku z maszyny ansible na zdalny serwer.

Kopiowanie katalogu z maszyny ansible do zdalnego miejsca docelowego-Ansible Copy Przykłady

Załóżmy, że mamy katalog o nazwie scripts. W tym katalogu mamy dwa pliki o nazwie plik1 i plik2 oraz katalog Linux, w katalogu Linux mamy dwa pliki o nazwie plik 3 i plik 4.

scripts├── file1├── file2└── linux ├── file3 ├── file4

Teraz zadanie jest musimy wysłać lub skopiować katalog Linux do zdalnego serwera.

tasks:- name: Copy a directory to a remote machine copy: src: /User/scripts/linux dest: /tmp

Używając powyższego kodu możesz wysłać lub skopiować katalog Linux z maszyny ansible do zdalnej lokalizacji serwera.

Zobacz na końcu src:/user/scripts/linux nie wspomnieliśmy (/), więc dlatego katalog Linux zostanie skopiowany z maszyny ansible do zdalnego.

Wyjście w zdalnym katalogu tmp.

├── tmp└── linux ├── file3 ├── file4

Jeśli wspomnisz (/) na końcu src, pliki w katalogu Linux (file3 i file4) zostaną skopiowane do zdalnego.

patrz src:/user/scripts/linux/

tasks:- name: Copy files to a remote machine copy: src: /User/scripts/linux/ dest: /tmp

dane wyjściowe w zdalnym katalogu tmp

└── tmp ├── file3 ├── file4

Tylko pliki w katalogu Linux zostaną skopiowane do zdalnej lokalizacji, jeśli wspomnisz (/) na końcu źródła.

Kopiuj plik z uprawnieniami-Ansible Copy Examples

- copy: src: /srd/myfiles/abc.conf dest: /etc/abc.conf owner: abc group: abc mode: 0644

Przez użycie powyższego kodu możesz skopiować plik z różnymi uprawnieniami.

- copy: src: /srd/myfiles/abc.conf dest: /etc/abc.conf owner: abc group: abc mode: "u=rw,g=r,o=r"

Będzie działać jak ten sam przykład co powyżej. Tutaj wspomnieliśmy o uprawnieniach używając symbolicznego trybu równoważnego 0644. możemy użyć dowolnego typu trybu.

Kopiowanie zawartości do zdalnego serwera-Ansible Copy Examples

copy:content: "Hello devops"dest: /tmp/devops.txt

Przez użycie tego modułu możesz pisać zawartość i kopiować tę zawartość do zdalnego serwera. Jeśli plik nie istnieje w zdalnej lokalizacji, utworzy on plik devops.txt i zapisze tę zawartość do devops.txt. Tutaj devops.txt jest nazwą pliku, której możesz nadać dowolną nazwę. Z modułem ansible copy, możemy utworzyć plik z zawartością.

Jeśli chcesz wiedzieć więcej o ansible copy, możesz odwołać się do dokumentacji ansible.

  • https://docs.ansible.com/ansible/2.3/copy_module.html

Dodaj komentarz