Copiando Arquivos com Ansible
Ansible fornece o módulo copy para copiar arquivos do nó de controle (onde o Ansible está rodando) para os nós gerenciados (os hosts de destino). O módulo copy suporta diversas opções para controlar o comportamento da operação de cópia de arquivos.
Cópia Básica de Arquivos
A sintaxe básica para o módulo copy é:
- copy:
src: <source_file>
dest: <destination_path>
Aqui, src especifica o caminho para o arquivo no nó de controle e dest especifica o caminho de destino no nó gerenciado.
Por exemplo, para copiar um arquivo chamado example.txt do nó de controle para o diretório /tmp no nó gerenciado, você pode usar a seguinte tarefa:
- copy:
src: example.txt
dest: /tmp/example.txt
Copiando com Permissões
Por padrão, o módulo copy preservará as permissões de arquivo do arquivo de origem. No entanto, você também pode definir explicitamente as permissões usando o parâmetro mode:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: "0644"
Neste exemplo, o arquivo copiado terá as permissões definidas como rw-r--r-- (644 em octal).
Você também pode usar notação simbólica para definir as permissões:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: u=rw,g=r,o=r
Isso definirá as permissões para rw-r--r--.
Copiando com Proprietário e Grupo
Para definir o proprietário e o grupo do arquivo copiado, você pode usar os parâmetros owner e group:
- copy:
src: example.txt
dest: /tmp/example.txt
owner: myuser
group: mygroup
Isso definirá o proprietário para myuser e o grupo para mygroup para o arquivo copiado.
Compreendendo como usar o módulo copy no Ansible, você pode garantir que os arquivos sejam copiados para os hosts de destino com as permissões, proprietário e grupo apropriados. Isso é crucial ao trabalhar com arquivos confidenciais ou garantindo que os arquivos copiados tenham os direitos de acesso corretos.