Copie de fichiers avec Ansible
Ansible propose le module copy
pour copier des fichiers du nœud de contrôle (où Ansible est exécuté) vers les nœuds gérés (les hôtes cibles). Le module copy
prend en charge diverses options pour contrôler le comportement de l'opération de copie de fichiers.
Copie de fichiers de base
La syntaxe de base du module copy
est la suivante :
- copy:
src: <source_file>
dest: <destination_path>
Ici, src
spécifie le chemin du fichier sur le nœud de contrôle, et dest
spécifie le chemin de destination sur le nœud géré.
Par exemple, pour copier un fichier nommé example.txt
du nœud de contrôle vers le répertoire /tmp
sur le nœud géré, vous pouvez utiliser la tâche suivante :
- copy:
src: example.txt
dest: /tmp/example.txt
Copie avec autorisations
Par défaut, le module copy
conserve les autorisations de fichier du fichier source. Cependant, vous pouvez également définir explicitement les autorisations en utilisant le paramètre mode
:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: "0644"
Dans cet exemple, le fichier copié aura des autorisations définies sur rw-r--r--
(644 en octal).
Vous pouvez également utiliser la notation symbolique pour définir les autorisations :
- copy:
src: example.txt
dest: /tmp/example.txt
mode: u=rw,g=r,o=r
Cela définira les autorisations sur rw-r--r--
.
Copie avec propriétaire et groupe
Pour définir le propriétaire et le groupe du fichier copié, vous pouvez utiliser les paramètres owner
et group
:
- copy:
src: example.txt
dest: /tmp/example.txt
owner: myuser
group: mygroup
Cela définira le propriétaire sur myuser
et le groupe sur mygroup
pour le fichier copié.
En comprenant comment utiliser le module copy
dans Ansible, vous pouvez vous assurer que les fichiers sont copiés sur les hôtes cibles avec les autorisations, le propriétaire et le groupe appropriés. Cela est crucial lorsque vous travaillez avec des fichiers sensibles ou que vous devez vous assurer que les fichiers copiés ont les droits d'accès corrects.