Après avoir récupéré les métadonnées des fichiers à l'aide du module Ansible Stat, vous pouvez afficher les informations dans vos playbooks de diverses manières pour répondre à vos besoins.
La méthode la plus courante pour afficher les informations sur les fichiers consiste à utiliser le module Ansible Debug. Ce module vous permet d'afficher le contenu des variables, y compris les métadonnées des fichiers récupérées par le module Stat.
Voici un exemple :
- name: Get file information
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Display file information
debug:
msg:
- "File path: {{ file_info.stat.path }}"
- "File exists: {{ file_info.stat.exists }}"
- "File type: {{ 'directory' if file_info.stat.isdir else 'file' }}"
- "File size: {{ file_info.stat.size }} bytes"
- "File owner: {{ file_info.stat.owner }}"
- "File permissions: {{ file_info.stat.mode }}"
- "File modification time: {{ file_info.stat.mtime }}"
Dans cet exemple, les métadonnées du fichier sont stockées dans la variable file_info
, et le module debug
est utilisé pour afficher les informations dans un message formaté.
Vérifications conditionnelles avec les métadonnées des fichiers
Vous pouvez également utiliser les métadonnées des fichiers pour effectuer des vérifications conditionnelles dans vos playbooks. Cela peut être utile pour automatiser des tâches en fonction de l'état des fichiers et des répertoires.
Par exemple, vous pouvez vérifier si un fichier existe avant d'essayer de le copier ou de le modifier :
- name: Check if file exists
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Copy file
ansible.builtin.copy:
src: /path/to/source.txt
dest: /path/to/file.txt
when: file_info.stat.exists
Dans cet exemple, le module Stat est utilisé pour vérifier si le fichier situé à /path/to/file.txt
existe. La tâche copy
n'est exécutée que si le fichier existe, comme déterminé par la condition file_info.stat.exists
.
Vous pouvez également stocker les métadonnées des fichiers récupérées par le module Stat pour une utilisation ultérieure dans vos playbooks. Cela peut être utile pour générer des rapports, comparer l'état des fichiers sur plusieurs hôtes ou automatiser d'autres tâches.
Par exemple, vous pouvez stocker les métadonnées du fichier dans une variable et l'utiliser dans une tâche ultérieure :
- name: Get file information
ansible.builtin.stat:
path: /path/to/file.txt
register: file_info
- name: Print file modification time
debug:
msg: "File modification time: {{ file_info.stat.mtime }}"
Dans cet exemple, les métadonnées du fichier sont stockées dans la variable file_info
, qui peut ensuite être accédée dans les tâches suivantes, comme la tâche debug
qui affiche la date de modification du fichier.