Ansible Copy Examples Ansible Copy Module

Ansible copy module on yksi Ansiblen tiedostomoduulien moduuleista. Ansible-kopiointimoduulia käytetään tiedoston kopioimiseen ansible-koneelta etäpalvelimelle. Ansible-kopiointimoduulilla voi tehdä erilaisia asioita Katsotaanpa, mitä voimme tehdä Ansible-kopiointimoduulilla. Tässä blogikirjoituksessa näemme ansible-kopiointimoduulien esimerkkejä ja miten kopioida tiedostoja ansible-masterista etäpalvelimelle.

Kopioi tiedosto pakolla kyllä-Ansible-kopiointimoduuli

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

Tässä esimerkissä ansible-koneessa oleva devops.txt-tiedosto kopioidaan kohdepaikkaan etäpalvelimella. mutta jos sama tiedosto (samalla nimellä) on jo olemassa kohdepaikkaan etäpalvelimella, se korvataan ansible-koneesta tulevalla tiedostolla. Se ei välitä siitä, onko tiedosto olemassa tai ei ole olemassa etäsijainnissa. Sokkona se kopioi tiedoston ansible-koneelta etäpalvelimelle.

  • Ansible Fetch -moduulin opetusohjelma

oletusarvoisesti force on yes

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

Kumpikin yllä oleva koodi toimii siis samalla tavalla. Mainitsemalla force: kyllä tai poistamalla force: kyllä se riippuu sinusta. Paremman ymmärryksen vuoksi voit mainita force: yes.

Copy the file with force no-Ansible Copy Module

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

Tässä se ei pakota. jos tiedosto on jo olemassa määränpäässä, se ei korvaa tiedostoa. Tämä tarkoittaa, että emme pakota kopioimaan tiedostoa ansible-koneelta etäpalvelimelle.

Kopioi hakemisto ansible-koneelta etäsijaintiin-Ansible Copy Esimerkkejä

oletetaan, että meillä on hakemisto nimeltä scripts. Tässä hakemistossa meillä on kaksi tiedostoa nimeltään file1 ja file2 ja Linux-hakemisto, Linux-hakemistossa meillä on kaksi tiedostoa nimeltään file 3 ja file 4.

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

Jatkossa tehtävämme on lähettää tai kopioida Linux-hakemisto etäpalvelimelle.

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

Ylläolevan koodin avulla voit lähettää tai kopioida Linux-hakemiston ansible-koneesta etäpalvelimen sijaintiin.

Katsokaa, että src:/user/scripts/linux-kohdan lopussa emme ole maininneet (/), joten siksi Linux-hakemisto kopioidaan ansible-koneesta etäpalvelimelle.

Tulostus etäpalvelimen tmp-hakemistoon.

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

Jos mainitset (/) src:n lopussa, Linux-hakemistossa olevat tiedostot (tiedosto3 ja tiedosto4) kopioidaan etäkäyttöön.

katso src:/user/scripts/linux/

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

Tulostus etäkäytön tmp-hakemistossa

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

Vain Linux-hakemistossa olevat tiedostot kopioidaan etäkäytön sijaintipaikkaan, jos mainitsit lähteen lopussa mainitsemalla (/).

Kopioi tiedosto käyttöoikeuksilla-Ansible Copy Esimerkkejä

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

Yllä olevalla koodilla voit kopioida tiedoston eri käyttöoikeuksilla.

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

Se toimii kuten sama esimerkki kuin yllä. Tässä mainittiin käyttöoikeudet käyttämällä symbolista tilaa, joka vastaa 0644. Voimme käyttää mitä tahansa tilaa.

Sisällön kopiointi etäpalvelimelle-Ansible Copy Esimerkkejä

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

Käyttämällä tätä moduulia voit kirjoittaa sisältöä ja kopioida sen etäpalvelimelle. Jos tiedostoa ei ole ollut olemassa etäsijainnissa, se luo kyseisen devops.txt-tiedoston ja kirjoittaa sisällön devops.txt-tiedostoon. Tässä devops.txt on tiedostonimi, jonka voit antaa millä tahansa tiedostonimellä. Ansible copy -moduulin avulla voimme luoda tiedoston sisällön.

Jos haluat tietää lisää ansible copy -moduulista, voit tutustua ansiblen dokumentaatioon.

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

Jätä kommentti