Ansible másolási példák Ansible másolási modul

Az Ansible másolási modul az Ansible fájlmodulok egyik modulja. Az Ansible copy modul a fájl másolására szolgál az ansible gépről a távoli kiszolgálóra. Az ansible copy modullal különböző dolgokat tehetünk Lássuk, mit tehetünk az ansible copy modullal. Ebben a blogbejegyzésben ansible copy modul példákat fogunk látni, és hogyan másoljuk a fájlokat az ansible masterről a távoli szerverre.

Copy the file with force yes-Ansible Copy Module

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

Az ansible gépen lévő devops.txt fájl ebben a példában a távoli szerveren lévő célhelyre lesz másolva. de ha ugyanaz a fájl(azonos névvel) már létezik a távoli szerveren lévő célhelyen, akkor az ansible gépen lévő fájlra fog cserélődni. Nem törődik azzal, hogy a fájl létezik-e vagy sem a távoli helyen. Vakon másolja a fájlt az ansible gépről a távoli szerverre.

  • Ansible Fetch module tutorial

alapértelmezés szerint a force igen

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

Szóval mindkét fenti kód ugyanúgy működik. A force megemlítése: igen vagy a force eltávolítása: igen ez tőled függ. A jobb megértés érdekében megemlítheti a force: yes.

Másolja a fájlt force no-Ansible Copy Module

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

Itt nem fogja kényszeríteni. ha a fájl már létezik a célhelyen, akkor nem fogja helyettesíteni a fájlt. Ez azt jelenti, hogy nem kényszerítjük a fájl másolását az ansible gépről a távoli szerverre.

Könyvtár másolása az ansible gépről a távoli célállomásra-Ansible Copy Példák

Tegyük fel, hogy van egy könyvtárunk, melynek neve scripts. Ebben a könyvtárban van két file1 és file2 nevű fájlunk és Linux könyvtárunk, a Linux könyvtárban van két file 3 és file 4 nevű fájlunk.

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

Most a feladat az, hogy el kell küldenünk vagy másolnunk a Linux könyvtárat a távoli szerverre.

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

A fenti kód segítségével elküldhetjük vagy másolhatjuk a Linux könyvtárat az ansible gépről a távoli szerver helyére.

Lásd a src:/user/scripts/linux végén nem említettük a (/) szót, ezért a Linux könyvtárat az ansible gépről a távolira másoljuk.

A kimenet a távoli tmp könyvtárba kerül.

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

Ha a src végén megemlítjük a (/)-t, akkor a Linux könyvtárban lévő fájlok (file3 és file4) másolódnak a távoli helyre.

lásd src:/user/scripts/linux/

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

a kimenet a távoli tmp könyvtárban

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

Kizárólag a Linux könyvtárban lévő fájlok másolódnak a távoli helyre, ha a forrás végén a (/)-t említjük.

A fájl másolása jogosultságokkal-Ansible másolási példák

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

A fenti kód segítségével másolhatjuk a fájlt különböző jogosultságokkal.

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

A fenti példával megegyezően fog működni. Itt az engedélyeket a 0644-nek megfelelő szimbolikus móddal említettük. bármilyen típusú módot használhatunk.

Tartalom másolása távoli kiszolgálóra-Ansible másolás példák

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

Ezzel a modullal tartalmat írhatunk és másolhatunk a távoli kiszolgálóra. Ha a fájl nem létezett a távoli helyen, akkor létrehozza ezt a devops.txt fájlt, és kiírja a tartalmat a devops.txt fájlba. Itt a devops.txt egy fájlnév, amelyet bármilyen fájlnévvel megadhat. Az ansible copy modullal létrehozhatjuk a tartalommal rendelkező fájlt.

Ha többet szeretne tudni az ansible copy-ról,akkor az ansible dokumentációban olvashat.

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

Szólj hozzá!