Copiar archivos con Ansible
Ansible proporciona el módulo copy
para copiar archivos desde el nodo de control (donde se ejecuta Ansible) a los nodos administrados (los hosts de destino). El módulo copy
admite varias opciones para controlar el comportamiento de la operación de copia de archivos.
Copia básica de archivos
La sintaxis básica para el módulo copy
es:
- copy:
src: <source_file>
dest: <destination_path>
Aquí, src
especifica la ruta al archivo en el nodo de control, y dest
especifica la ruta de destino en el nodo administrado.
Por ejemplo, para copiar un archivo llamado example.txt
desde el nodo de control al directorio /tmp
en el nodo administrado, puedes usar la siguiente tarea:
- copy:
src: example.txt
dest: /tmp/example.txt
Copiar con permisos
Por defecto, el módulo copy
conservará los permisos del archivo fuente. Sin embargo, también puedes establecer explícitamente los permisos utilizando el parámetro mode
:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: "0644"
En este ejemplo, el archivo copiado tendrá permisos establecidos en rw-r--r--
(644 en octal).
También puedes usar notación simbólica para establecer los permisos:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: u=rw,g=r,o=r
Esto establecerá los permisos en rw-r--r--
.
Copiar con propietario y grupo
Para establecer el propietario y el grupo del archivo copiado, puedes usar los parámetros owner
y group
:
- copy:
src: example.txt
dest: /tmp/example.txt
owner: myuser
group: mygroup
Esto establecerá el propietario en myuser
y el grupo en mygroup
para el archivo copiado.
Al entender cómo usar el módulo copy
en Ansible, puedes asegurarte de que los archivos se copien a los hosts de destino con los permisos, propietario y grupo adecuados. Esto es crucial cuando se trabaja con archivos sensibles o para garantizar que los archivos copiados tengan los derechos de acceso correctos.