Ansible Copy Examples Ansible Copy Module

Ansible Copy Module é um dos módulos em módulos de ficheiros no Ansible. O módulo Ansible copy é usado para copiar o arquivo de uma máquina possível para o servidor remoto. Com um módulo de cópia possível você pode fazer várias coisas, deixe-nos ver o que podemos fazer com um módulo de cópia possível. Neste post de blog vamos ver exemplos de módulos de cópia possível e como copiar os arquivos do master ansible para o servidor remoto.

Copiar o arquivo com force yes-Ansible Copy Module

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

Neste exemplo o arquivo devops.txt na máquina possível será copiado para o local de destino no servidor remoto. mas se o mesmo arquivo (com o mesmo nome) já existir no local de destino no servidor remoto, ele será substituído pelo arquivo da máquina possível. Ele não cuidará para que o arquivo exista ou não exista em um local remoto. Cegamente ele copiará o arquivo de uma máquina possível para o servidor remoto.

  • Tutorial do módulo Fetch possível

por padrão, a força é sim

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

Então ambos os códigos acima funcionam como o mesmo. Mencionando força: sim ou removendo força: sim, depende de você. Para melhor compreensão você pode mencionar force: yes.

Copiar o arquivo com force noAnsible Copy Module

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

Aqui não vai forçar. se o arquivo já existe no local de destino ele não vai substituir o arquivo. Isso significa que não estamos forçando a copiar o arquivo de uma máquina possível para um servidor remoto.

Copiar um diretório de uma máquina possível para um destino remoto – Exemplos de Cópia Possível

nos deixe assumir que temos um diretório chamado scripts. Neste directório temos dois ficheiros chamados ficheiro1 e ficheiro2 e directório Linux, no directório Linux temos dois ficheiros chamados ficheiro 3 e ficheiro 4.

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

Agora a tarefa é enviar ou copiar o directório Linux para o servidor remoto.

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

Usando o código acima pode enviar ou copiar o directório Linux de uma máquina possível para uma localização de servidor remoto.

Ver no fim do src:/user/scripts/linux que não mencionámos (/) então é por isso que o directório Linux irá copiar de uma máquina possível para o remoto.

A saída no directório tmp remoto.

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

Se mencionar (/) no fim do src, os ficheiros no directório Linux (ficheiro3 e ficheiro4) irão copiar para o remoto.

ver src:/user/scripts/linux/

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

a saída no directório tmp remoto

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

Apenas os ficheiros no directório Linux irão copiar para a localização remota se mencionar (/) no fim da fonte.

Copie o ficheiro com permissões – Exemplos de cópias possíveis

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

Usando o código acima pode copiar o ficheiro com diferentes permissões.

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

Funcionará como o exemplo acima. Aqui mencionamos permissões usando um modo simbólico equivalente a 0644. podemos usar qualquer tipo de modo.

Copy Content to Remote server-Ansible Copy Examples

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

Usando este módulo você pode escrever conteúdo e copiar esse conteúdo para o servidor remoto. Se o arquivo não existir em um local remoto ele irá criar esse arquivo devops.txt e escrever esse conteúdo em devops.txt. Aqui devops.txt é um nome de arquivo que você pode dar qualquer nome de arquivo. Com um módulo de cópia possível, podemos criar o ficheiro com conteúdo.

Se quiser saber mais sobre uma cópia possível, pode consultar em documentação possível.

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

Deixe um comentário