Comando de cópia Ansible

Comando de cópia Ansible
Vamos aprender a usar o módulo de cópia, um dos módulos mais cruciais de Ansible, neste guia. Vamos colocar em prática os vários cenários de cópias da Ansible. Simplificando as coisas para que os usuários possam compreender a ideia do módulo de cópia.

O módulo de cópia é um dos módulos importantes do Ansible, que é o módulo interno na ferramenta Ansible. Os diretórios e arquivos são replicados utilizando os módulos de cópia Ansible. O módulo de cópia tem flexibilidade suficiente. É empregado para copiar as informações e arquivos de um sistema local para os hosts remotos de destino. O módulo de cópia pode transferir os arquivos que tiveram parâmetros substituídos por eles, como os arquivos de configuração com modificações de endereço IP. Você pode realizar inúmeras atividades complexas no módulo de cópia Ansible.

Diferentes parâmetros do módulo de cópia Ansible

Considerando o seguinte estão as várias variáveis ​​que empregamos ao colocar os exemplos em prática.

Parâmetros necessários:
Para replicar os diretórios e arquivos no host remoto de destino, o módulo de cópia requer argumentos específicos.

Dest: O caminho de destino final do documento ou diretórios. Se o caminho original for um diretório e o diretório de destino não for especificado, o diretório de destino será criado automaticamente; No entanto, se a rota original for um documento e o caminho de destino não for especificado como um documento, uma exceção será lançada. O caminho relativo exato deve levá -lo ao ponto alvo.

Parâmetros opcionais:
Embora existam parâmetros opcionais possíveis adicionais para o comando Ansible Copy, apenas nos concentramos em alguns deles. Podemos ser obrigados a compreender completamente este componente.

SRC: O caminho original dos diretórios e documentos. Dependendo do contexto, esse caminho pode ser relativo ou absoluto. Os documentos e subdiretórios são copiados iterativamente se o local de origem for o diretório. Ele replica as informações do diretório se o endereço de origem for um dicionário e termina com /. Como alternativa, ele duplica o diretório que leva o nome dado ao caminho alvo.

força: Se houve alguma modificação de documentos, ele modifica o documento e seu modo padrão para sim. Se a opção for não, os documentos foram transferidos. No entanto, eles não estão presentes na rota desejada.

Pré -requisitos do comando de cópia Ansible

Semelhante a todos os outros módulos de Ansible, o módulo de cópia possui um conjunto de requisitos que devem ser atendidos antes de poder ser implementado em um manual Ansible. Esses requisitos são os seguintes:

  • O dispositivo host remoto que possui uma conexão SSH deve estar ativo. Se não estiver ativo, você precisa construir o arquivo de inventário para fazer a conexão SSH.
  • As credenciais configuradas para Ansible devem ser inseridas.

Exemplo 1: Duplicação do documento no dispositivo host remoto de destino

Implementamos o primeiro cenário do módulo de cópia. Duplicamos o documento do controlador Ansible para o local do host local alvo. Para fazer isso, primeiro criamos o manual para escrever o script e mencionar o caminho do controlador e do host local nele. A seguir, é apresentado o comando para construir o manual Ansible:

[root@master Ansible]# nano copy_module.yml

Depois de criar o manual copy_module, agora ele abre automaticamente uma nova tela de terminal. Primeiro, passamos a pequena descrição do exemplo que implementamos no manual para que o usuário possa entender facilmente o exemplo no parâmetro "nome". Em seguida, fornecemos um valor "falso" para a variável "coletor_fact" para que possamos receber as informações extras do host remoto. Agora, especificamos o host remoto no parâmetro "hosts", que é a localhost. Também dizemos ao tipo de conexão que é a "conexão local".

Em seguida, começamos a listar as tarefas no Ansible-Playbook, escrevendo o nome da tarefa primeiro. Em seguida, escrevemos a variável "cópia". Em seguida, passamos pelo "SRC" e "Dest" para que possamos especificar o caminho do controlador para duplicar o documento e colá -lo no local especificado por localhost.

Desista do copy_module.Playbook YML. Nesta seção, não faremos o arquivo de inventário para fazer a conexão porque estamos usando o host local aqui. Para exibir os resultados, escrevemos a seguinte declaração:

[root@master Ansible]# Ansible-playbook copy_module.yml

A captura de tela a seguir é a saída do manual anteriormente executado. Nesta saída, nos mostra os sinais "OK" e "alterados" que dizem ao usuário que as tarefas e comandos no manual "copy_module" são executados com sucesso.

Exemplo 2: Duplicar um documento a um diretório que não existe no host local

Neste exemplo, duplicamos o documento para o local em que o diretório não está disponível no dispositivo host local. Por exemplo, se tivermos um documento que queremos duplicar ao novo diretório com o nome exato como o documento original, o módulo de cópia cria o novo diretório se o diretório de destino não existir no dispositivo de destino. Primeiro, abrimos o copy_module.Playbook YML. Em seguida, fazemos alterações de acordo com os requisitos de exemplo.

[root@master Ansible]# nano copy_module.yml

No manual, mudamos o caminho de destino no parâmetro "dest".

Agora, executamos o manual para obter a saída desejada no terminal escrevendo a seguinte declaração:

[root@master Ansible]# Ansible-playbook copy_module.yml

Exemplo 3: duplicar um documento com a permissão do proprietário

Aqui está o terceiro cenário do módulo de cópia Ansible, onde copiamos o documento com a permissão do proprietário para o host remoto de destino. No manual, adicionamos também os parâmetros de proprietário, grupo e modo.

[root@master Ansible]# nano copy_module.yml

Agora, o manual é aberto depois de escrever a declaração anterior:

Para obter os resultados, executamos a seguinte declaração:

[root@master Ansible]# Ansible-playbook copy_module.yml

Aqui está o resultado depois de executar o comando anterior do Playbook:

Exemplo 4: duplicar um documento para um local remoto

Nesta ilustração, queremos duplicar o documento ao local remoto usando o módulo de cópia de Ansible.

[root@master Ansible]# nano copy_module.yml

Depois de abrir o manual, modificamos os comandos.

Queremos duplicar o documento para o host remoto, para construir o arquivo de inventário para fazer a conexão entre o controlador Ansible e o host remoto. Agora, criamos o arquivo de inventário através do seguinte comando:

[root@master Ansible]# Ansible-playbook copy_module.yml

Depois de criar o arquivo de inventário, construímos a conexão.

Todos:
anfitriões:
Host1:
Ansible_host: 192.168.7.10
Ansible_user: Iris
Ansible_password: tpstps_1
Ansible_connection: ssh
Ansible_port: 22

Para obter a saída desejada, execute o seguinte comando:

[root@master Ansible]# Ansible-playbook copy_module.yml -i host.yml

Aqui está o resultado da execução do comando mencionado:

Conclusão

Este artigo discute sobre o módulo de cópia Ansible. Agora entendemos os vários parâmetros obrigatórios e opcionais do módulo de cópia. Vários exemplos estão incluídos para que os usuários possam compreendê -los totalmente.