Vérifier le transfert de fichiers réussi
Après avoir utilisé le module copy
pour transférer des fichiers, il est important de vérifier que le transfert de fichiers a réussi. Ansible propose plusieurs méthodes pour garantir l'intégrité et la justesse des fichiers copiés.
Vérifier l'existence du fichier
La méthode la plus simple pour vérifier qu'un transfert de fichiers a réussi est de vérifier si le fichier cible existe sur l'hôte distant. Vous pouvez utiliser le module stat
d'Ansible pour obtenir des informations sur le fichier distant, y compris son existence.
- hosts: all
tasks:
- name: Copy file to remote host
copy:
src: /path/to/local/file.txt
dest: /path/to/remote/file.txt
- name: Verify file existence
stat:
path: /path/to/remote/file.txt
register: remote_file
- debug:
msg: "File transfer successful"
when: remote_file.stat.exists
Dans cet exemple, le module stat
est utilisé pour vérifier si le fichier distant existe. Si la propriété stat.exists
est true
, le transfert de fichier est considéré comme réussi.
Comparer les sommes de contrôle (checksum) des fichiers
Pour garantir l'intégrité du fichier copié, vous pouvez comparer la somme de contrôle (checksum) du fichier local avec celle du fichier distant. Cela permet de vérifier que le fichier a été transféré sans aucune corruption.
- hosts: all
tasks:
- name: Copy file to remote host
copy:
src: /path/to/local/file.txt
dest: /path/to/remote/file.txt
- name: Get local file checksum
stat:
path: /path/to/local/file.txt
register: local_file
- name: Get remote file checksum
stat:
path: /path/to/remote/file.txt
register: remote_file
- debug:
msg: "File transfer successful"
when: local_file.stat.checksum == remote_file.stat.checksum
Dans cet exemple, le module stat
est utilisé pour obtenir la somme de contrôle (checksum) des fichiers local et distant. Si les sommes de contrôle correspondent, le transfert de fichier est considéré comme réussi.
En vérifiant l'existence et l'intégrité des fichiers copiés, vous pouvez vous assurer que le processus de transfert de fichiers s'est terminé avec succès et que les systèmes distants disposent des bons fichiers.