Uso do módulo de estatística Ansible

Uso do módulo de estatística Ansible
No Linux, o comando stat é um utilitário de linha de comando que fornece informações detalhadas sobre sistemas de arquivos ou arquivos.

Ansible, considerado a ferramenta de automação mais diversificada e popular, fornece um módulo para buscar informações do sistema de arquivos e arquivos como comando de stat nativo Linux.

Neste guia, entenderemos como trabalhar com o módulo de estatística em manuais de Ansible.

Verifique se o arquivo existe

O módulo STAT buscará informações sobre um arquivo ou diretório especificado e salvá -lo usando o parâmetro de registro.

No manual de exemplo a seguir, verificamos se o arquivo/var/log/alternativas.Log existe.

---
- Nome: Módulo de Stat Ansible
Hosts: todos
Torne -se: sim
tarefas:
- Nome: Verifique as alternativas.registro
Estado:
caminho:/var/log/alternativas.registro
Registro: informações
- Nome: diga se o arquivo está lá
depurar:
MSG: Existe arquivo
Quando: informações.Estado.existe
- Nome: Diga se o arquivo ausente
depurar:
msg: o arquivo ausente
Quando: não informações.Estado.existe

No exemplo acima, chamamos o módulo STAT para coletar informações sobre o arquivo/var/log/alternativas.log do host remoto.

Depois de recuperar as informações do arquivo, salvamos em um registro file_info.

Para garantir que possamos ler o arquivo, definimos o parâmetro para true.

Na segunda tarefa, usamos o registro de informações para verificar se o arquivo existe. Se verdadeiro, exibimos uma mensagem indicando que o arquivo de destino existe.

A tarefa final retorna uma notificação se o arquivo não existir no host remoto. Isso é facilitado se a informação.Estado.existir é falso.

Salve e execute o manual:

Ansible-Playbook Play CheckFile.yml

Aqui está um exemplo de saída:

A saída mostra que o arquivo de destino existe no host remoto.

Verifique se existe um diretório

O manual para verificar se existe um diretório usando o módulo Stat é semelhante ao mostrado acima. No entanto, fornecemos um caminho para um diretório de destino, como mostrado abaixo:

---
- Nome: Módulo de Stat Ansible
Hosts: todos
Torne -se: sim
tarefas:
- Nome: Verifique o diretório de log
Estado:
caminho:/var/log/
REGISTRO: DIR_INFO
- Nome: diga se o diretório existe
depurar:
MSG: Existe diretório de destino
Quando: DIR_INFO.Estado.existe
- Nome: diga se o dir está faltando
depurar:
MSG: Falta o diretório
Quando: não DIR_INFO.Estado.existe

Depois de executar o manual, devemos ver uma saída semelhante à mostrada abaixo:

Ansible-Playbook Direxists.yml

Verifique se um usuário possui um arquivo

O módulo Ansible Stat retorna uma coleção de valores para o arquivo ou diretório especificado. Uma dessas variáveis ​​de retorno é pw_name; Esta variável retorna o nome de usuário do arquivo de destino ou proprietário do diretório.

Podemos criar um manual que retorne uma mensagem se um nome de usuário específico possui o arquivo especificado. Por exemplo:

---
- Nome: Verifique a propriedade do arquivo
Hosts: todos
Gather_facts: Não
Torne -se: Sim
tarefas:
- Nome: Obtenha informações do arquivo
Estado:
caminho:/var/log/kern.registro
Registro: file_info
- Nome: de propriedade da Ubuntu Usert?
depurar:
msg: o arquivo é de propriedade do usuário do Ubuntu
Quando: file_info.Estado.pw_name != 'Ubuntu'
- Nome: não é de propriedade do usuário do Ubuntu?
depurar:
msg: o arquivo não é de propriedade do usuário do Ubuntu
Quando: não file_info.Estado.pw_name != 'Ubuntu'

No exemplo acima, verificamos se o usuário do Ubuntu possui o arquivo/var/log/kern.registro. Se for verdade, retornamos uma mensagem apropriada.

Abaixo está um exemplo de saída:

Verifique o tipo de arquivo

Outro valor de retorno do módulo STAT nos permite verificar o tipo de arquivo. Usando valores de retorno como ISreg e ISDIR, podemos verificar se um arquivo é um diretório:

---
- Nome: Verifique o tipo de arquivo
Hosts: todos
Torne -se: YE
tarefas:
- Nome: Obtenha informações do arquivo
Estado:
caminho:/var/log/kern.registro
Registro: file_info
- Nome: arquivo regular?
depurar:
msg: o caminho especificado é um arquivo regular
Quando: file_info.Estado.isreg
- Nome: é um diretório?
depurar:
MSG: o caminho especificado é um diretório
Quando: file_info.Estado.ISDIR

Salve e execute o manual como:

Valores de retorno estatísticos de Ansible

A seguir, são apresentados os valores retornados pelo módulo Ansible Stat:

  • atributos - Retorna os atributos do arquivo especificado.
  • executável - Retorna true se o usuário de invocação executou permissões no caminho alvo.
  • existe - Retorna true se o caminho especificado existir.
  • gr_name - Retorna o nome do grupo do proprietário do arquivo.
  • islbk - Retorna true se o arquivo especificado for um dispositivo de bloco
  • ISCHR - Retorna true se o arquivo especificado for um arquivo de caracteres.
  • isreg - Retorna true se o arquivo especificado for um arquivo regular
  • ISDIR - Retorna true se o arquivo especificado for um diretório.
  • Islnk - Retorna true se o arquivo de destino for um link
  • modo - Retorna a permissão do arquivo na notação octal

Essas são algumas informações de retorno do módulo de estatística Ansible. Verifique a documentação para saber mais.

Conclusão

Neste guia, discutimos como usar o módulo de estatística Ansible para coletar informações sobre arquivos e sistemas de arquivos.