Trabalhando com diretórios em Ansible

Trabalhando com diretórios em Ansible
Ansible é uma ferramenta útil para gerenciar com eficiência recursos sobre uma rede de dispositivos. Ele fornece várias opções para os usuários, tudo em um pacote. Isso inclui várias opções de automação e configuração de dados. Os principais componentes do Ansible são pequenos programas que executam tarefas específicas em um sistema. Estes são chamados de módulos, e Ansible tem muitos deles (mais de 800). Portanto, neste artigo, analisamos como podemos instalar Ansible e usá -lo para criar um novo diretório se ainda não existir. Então, sem mais delongas, vamos mergulhar nele.

Instale Ansible

Primeiro, instalamos o Ansible se ainda não estiver instalado em nossos sistemas. Para instalar o Ansible, siga as etapas dadas abaixo. Pule para a próxima parte se Ansible já estiver instalado.

Em primeiro lugar, atualizamos nosso sistema para que todos os pacotes estejam atualizados e nenhum problema seja encontrado ao instalar as dependências para Ansible. Para atualizar o sistema, digitamos o seguinte comando.

$ sudo apt update && sudo apt upgrade

Em seguida, instalamos alguns pacotes que são os pré -requisitos para a instalação do Ansible. Para instalar esses pacotes, digite o seguinte comando.

$ sudo apt install install-properties-common python3 python3-pip python3-dev sshpass apt-transport-https Certificados CAbffi-dev libkrb5-dev libcurl4-openssl-dev libsl-dev

Finalmente, podemos instalar o Ansible e verificar sua versão usando o seguinte conjunto de comandos.

$ sudo -h pip3 Instale Ansible

E por fim:

Ansible -versão

Agora que temos o Ansible instalado, precisamos de um manual para escrever scripts que automatizam nossas tarefas diárias. Um editor de texto simples como o VIM deve fazer, pois não consome muita memória e suporta o formato "YAML" no qual os scripts Ansible são escritos.

Agora vamos recorrer ao problema em questão, criando um novo diretório em Ansible se ele ainda não existir. Descreveremos o básico de um diretório e explicaremos como podemos fazer novos diretórios no Ansible com alguns exemplos.

O que é um diretório?

Um diretório é um local que organiza e armazena arquivos em um computador. Você pode pensar nisso como um roteiro que mostra o conteúdo armazenado e sua localização e divisão exatas. Ajuda o usuário a navegar pelos arquivos no sistema, designando um caminho específico para cada arquivo que temos em nosso sistema.

Este mecanismo útil ajuda a manter nosso sistema organizado sem causar problemas. Por exemplo, imagine que você tem dois jogos, Pinball1 e Pinball2. Esses jogos têm seus diretórios com seus dados salvos contendo todo o progresso do jogador nos dois jogos. Se não houvesse diretórios para distinguir os dois jogos, a pasta "Save Data" sempre seria substituída pelo jogo que foi jogado por último, perdendo todos os dados anteriores.

Diferença entre um arquivo e um diretório

Arquivos e diretórios são dois termos diferentes. Um diretório é uma área específica na memória do computador que contém outros subdiretos e arquivos. Por outro lado, um arquivo pode ser armazenado em um diretório e contém informações usadas pelo sistema para executar vários aplicativos. Deve -se notar também que um arquivo tem uma extensão, enquanto um diretório não.

Faça um diretório em Ansible

Podemos fazer um diretório em Ansible usando o módulo de arquivo. Este módulo é usado para gerenciar links, diretórios e arquivos. Ele também possui outros recursos, como imposição de propriedades e permissões de arquivos e diretórios. Todas essas tarefas são executadas nos hosts remotos. Um exemplo mostrado abaixo explica como um novo diretório é feito em Ansible se não existir.

- Nome: Demonstração de diretório
arquivo:
caminho: /src /newDirectory
Estado: Diretório
Proprietário: raiz
Grupo: Raiz
Modo: 0775

Você pode executar manuais com a ajuda do seguinte comando:

Livro de teste Ansible-PlayBook.yml

O script acima faz um novo diretório chamado "Novo Diretor" com Path /etc /NewDirectory. O modo é um parâmetro do módulo de arquivo que indica que o proprietário e o grupo do diretório podem executar, ler ou escrever. No entanto, outros só podem executar ou ler o diretório e seu conteúdo.

Podemos fazer o mesmo diretório de outra maneira, como mostrado abaixo.

- Nome: Demonstração de diretório
Ansible.construídas em.arquivo:
caminho: /src /newDirectory
Estado: Diretório
Modo: 0775

Verifique se o diretório existe em Ansible

Verificando se existe um diretório específico em Ansible segue o mesmo procedimento que a verificação de um arquivo. A única diferença é que usamos o valor ISDIR para confirmar o caminho do diretório.

- Nome: Verifique se já existe diretório
Depurar:
MSG: “O diretório existe”
Quando: register_directory.stst.existe e registro_directory.Estado.ISDIR

Crie um diretório com um caminho específico

- Hosts: todos
tarefas:
- Nome: diretório com caminho específico
arquivo:
caminho:/home/pasta1/my_new_directory
Estado: Diretório

O script acima faz um novo diretório na subpasta "pasta1" do diretório doméstico. O diretório é feito no módulo de arquivo, que lida com os arquivos, diretórios e operações discutidas acima.

Alterar permissões de um diretório

Podemos alterar as permissões sobre quem pode ler, escrever ou executar o conteúdo de um diretório ou arquivo no host remoto usando Ansible. O script é dado abaixo.

- Hosts: todos
tarefas:
- Nome: Permissões de diretório
arquivo:
caminho:/home/pasta1/my_new_directory
Estado: Diretório
modo: "u = rw, g = wx, o = rwx"

Aqui vemos que mudamos de permissão (modo) para "u = rw, g = wx, o = rwx" Esta é uma expressão simbólica que diz ao computador para permitir que todos leem e escrevam no diretório. O modo pode ser uma expressão simbólica ou um número octal como "0755".

Diretório ambíguo

Caso não tenhamos certeza se já existe um diretório ou não em nosso sistema, podemos escrever um script que garante que o diretório seja verificado se existir. Caso contrário, um novo diretório com esse nome será feito no host remoto.

- Anfitriões: localhost
tarefas:
- Nome: Verifique o diretório se existir
Estado:
Caminho: /Home /Dir1
Registro: NewFolder
- Nome: "Caso o diretório de caso existia"
depurar:
MSG: "Dado o diretório existe"
Quando: NewFolder.Estado.existe
- Nome: "Ansible Create Directory, se não existe"
arquivo:
Caminho: /Home /Dir1
Estado: Diretório
Modo: 0755
Grupo: Raiz
Proprietário: raiz
Quando: novo.Estado.existe == false

Aqui, o grupo e a raiz mostram que o acesso é permitido para o proprietário e o grupo "raiz"

Conclusão

Neste artigo, aprendemos sobre os módulos de estatísticas e arquivos em Ansible e como eles ajudam a gerenciar diretórios e arquivos. Também analisamos scripts Ansible, caso quiséssemos fazer um diretório que ainda não existe. Esperamos que você tenha sido capaz de encontrar uma solução para sua confusão sobre os diretórios em Ansible depois de ler este artigo.