Ansible Copy Eksempler Ansible Copy Module

Ansible copy module er et af modulerne i filmodulerne i Ansible. Ansible copy-modulet bruges til at kopiere filen fra en ansible-maskine til fjernserveren. Med ansible copy module kan du gøre forskellige ting lad os se, hvad vi kan gøre med ansible copy module. I dette blogindlæg vil vi se ansible copy modules eksempler og hvordan man kopierer filerne fra ansible master til fjernserver.

Kopier filen med force yes-Ansible Copy Module

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

I dette eksempel vil devops.txt-filen i den ansible maskine blive kopieret til destinationsstedet på fjernserveren. men hvis den samme fil (med samme navn) allerede findes på destinationsstedet på fjernserveren, vil den erstatte med filen fra ansible maskine. Det vil ikke tage sig af, om filen eksisterer eller ikke eksisterer i en fjernplacering. Blindt vil den kopiere filen fra ansible maskine til fjernserveren.

  • Ansible Fetch module tutorial

som standard, force er yes

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

Så begge ovenstående koder fungerer som det samme. Omtale af force: ja eller fjernelse af force: ja det afhænger af dig. For bedre forståelse kan du nævne force: yes.

Kopier filen med force no-Ansible Copy Module

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

Her vil den ikke tvinge. hvis filen allerede eksisterer på destinationen, vil den ikke erstatte filen. Det betyder, at vi ikke tvinger til at kopiere filen fra ansible-maskinen til fjernserveren.

Kopier en mappe fra ansible-maskinen til fjerndestinationen-Ansible Copy Eksempler

Lad os antage, at vi har en mappe kaldet scripts. I denne mappe har vi to filer kaldet file1 og file2 og Linux-mappen, i Linux-mappen har vi to filer kaldet file 3 og file 4.

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

Nu er opgaven er vi nødt til at sende eller kopiere Linux-mappen til fjernserveren.

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

Ved hjælp af ovenstående kode kan du sende eller kopiere Linux-mappen fra ansible-maskinen til en fjernserverplacering.

Se i slutningen af src:/user/scripts/linux har vi ikke nævnt (/), så derfor vil Linux-mappen blive kopieret fra ansible-maskinen til den eksterne.

Opdatet i den eksterne tmp-mappe.

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

Hvis du nævner (/) i slutningen af src, vil filerne i Linux-mappen (file3 og file4) blive kopieret til fjernadressen.

Se src:/user/scripts/linux/

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

Opdatet i den eksterne tmp-mappe

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

Kun filer i Linux-mappen vil blive kopieret til fjernadressen, hvis du nævner (/) i slutningen af kildekoden.

Kopier filen med tilladelser-Ansible Copy Eksempler

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

Ved hjælp af ovenstående kode kan du kopiere filen med forskellige tilladelser.

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

Det vil fungere som samme eksempel som ovenfor. Her nævnte vi tilladelser ved hjælp af en symbolsk tilstand svarende til 0644. Vi kan bruge enhver type tilstand.

Kopier indhold til fjernserver-Ansible Copy Eksempler

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

Ved hjælp af dette modul kan du skrive indhold og kopiere dette indhold til fjernserveren. Hvis filen ikke har eksisteret på en fjernplacering, vil den oprette denne devops.txt-fil og skrive dette indhold til devops.txt. Her er devops.txt et filnavn, som du kan give et hvilket som helst filnavn. Med ansible copy modulet kan vi oprette filen med indhold.

Hvis du vil vide mere om ansible copy, kan du henvise i ansible dokumentation.

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

Skriv en kommentar