La gestion des transferts de fichiers entre machines dans un réseau peut être complexe.
Sans un outil approprié, cela peut entraîner des erreurs de permissions et des problèmes de synchronisation.
Cet article vous guide à travers l’utilisation du module copy d’Ansible pour simplifier ces tâches de manière efficace.
Devenez un expert d'Ansible et simplifiez vos tâches d'administration.

Module Copy Ansible : Guide Complet
Le module ansible.builtin.copy dans Ansible est utilisé pour copier des fichiers depuis la machine de contrôle (où Ansible est exécuté) vers des emplacements sur les machines distantes (hôtes gérés).
La syntaxe de base est comme ceci :
- name: Copier un fichier vers un hôte distant
ansible.builtin.copy:
src: /chemin/vers/fichier_local
dest: /chemin/vers/destination_sur_l_hote
src : Chemin absolu du fichier sur la machine de contrôle que vous souhaitez copier.
dest : Chemin absolu de l’emplacement de destination sur l’hôte distant où vous voulez copier le fichier.
D’autres options sont disponibles pour la copie de fichiers, telles que la gestion du mode de copie et la spécification de l’utilisateur, entre autres. Voici un exemple :
- name: Copier un fichier avec propriétaire et permissions spécifiées
ansible.builtin.copy:
src: /chemin/vers/fichier_local
dest: /chemin/vers/destination_sur_l_hote
owner: root
group: root
mode: '0644'
Ce playbook permet de copier un fichier avec des permissions spécifiques et un mode défini. Pour mieux comprendre cette partie, passons maintenant à la pratique. Tout d’abord, nous allons créer un fichier appelé ssh-config sur la machine de contrôle, avec un contenu comme suit :
Donc, à présent, développons le playbook pour copier ce fichier vers le nœud géré :
- hosts: servers
tasks:
- name: Update ssh config
copy:
src: ssh_config
dest: /etc/ssh/ssh_config
owner: root
group: root
mode: 0644
Ce playbook copie le fichier ssh _config dans le répertoire / etc/ssh en utilisant l’utilisateur root , avec les permissions définies à 0644. Ajoutons ce playbook à notre fichier
copyCommand-playbook.yml et exécutez-le ensuite :
Exécutons-le maintenant avec la commande ansible-playbook -v copyCommand-playbook.yml et voyons le résultat :
Voilà ça semble parfait, le résultat confirme que la tâche a été exécutée avec succès. Nous pouvons maintenant vérifier la présence du fichier dans le répertoire /etc/ssh du nœud géré.
Il se trouve bien dans le dossier avec les permissions 644, et son contenu est similaire à l’origine :
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment copier un fichier avec Ansible ?
Quels sont les paramètres essentiels du module copy ?
Comment gérer les permissions lors de la copie de fichiers avec Ansible ?
Peut-on copier des fichiers en conservant les propriétés originales avec Ansible ?
Comment vérifier si le fichier a été copié correctement avec Ansible ?
Conclusion
En maîtrisant le module copy d’Ansible, vous optimisez la gestion des fichiers sur vos hôtes distants. Quelle stratégie allez-vous adopter pour améliorer l’efficacité de vos tâches Ansible?