Após recuperar metadados de arquivos usando o módulo Ansible Stat, você pode exibir as informações em seus playbooks de várias maneiras, de acordo com suas necessidades.
A maneira mais comum de exibir informações de arquivos é usando o módulo Ansible Debug. Este módulo permite que você exiba o conteúdo de variáveis, incluindo os metadados de arquivos recuperados pelo módulo Stat.
Aqui está um exemplo:
- name: Obter informações do arquivo
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Exibir informações do arquivo
debug:
msg:
- "Caminho do arquivo: {{ file_info.stat.path }}"
- "Arquivo existe: {{ file_info.stat.exists }}"
- "Tipo de arquivo: {{ 'diretório' if file_info.stat.isdir else 'arquivo' }}"
- "Tamanho do arquivo: {{ file_info.stat.size }} bytes"
- "Proprietário do arquivo: {{ file_info.stat.owner }}"
- "Permissões do arquivo: {{ file_info.stat.mode }}"
- "Horário de modificação do arquivo: {{ file_info.stat.mtime }}"
Neste exemplo, os metadados do arquivo são armazenados na variável file_info, e o módulo debug é usado para exibir as informações em uma mensagem formatada.
Você também pode usar os metadados do arquivo para realizar verificações condicionais em seus playbooks. Isso pode ser útil para automatizar tarefas com base no estado de arquivos e diretórios.
Por exemplo, você pode verificar se um arquivo existe antes de tentar copiá-lo ou modificá-lo:
- name: Verificar se o arquivo existe
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Copiar arquivo
ansible.builtin.copy:
src: /path/to/source.txt
dest: /path/to/file.txt
when: file_info.stat.exists
Neste exemplo, o módulo Stat é usado para verificar se o arquivo em /path/to/file.txt existe. A tarefa copy só é executada se o arquivo existir, conforme determinado pela condição file_info.stat.exists.
Armazenando Informações de Arquivos para Uso Posterior
Você também pode armazenar os metadados do arquivo recuperados pelo módulo Stat para uso posterior em seus playbooks. Isso pode ser útil para gerar relatórios, comparar estados de arquivos em vários hosts ou automatizar outras tarefas.
Por exemplo, você pode armazenar os metadados do arquivo em uma variável e usá-la em uma tarefa subsequente:
- name: Obter informações do arquivo
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Imprimir horário de modificação do arquivo
debug:
msg: "Horário de modificação do arquivo: {{ file_info.stat.mtime }}"
Neste exemplo, os metadados do arquivo são armazenados na variável file_info, que pode ser acessada em tarefas subsequentes, como a tarefa debug que imprime o horário de modificação do arquivo.