Copiando archivos con Ansible
Una de las tareas más comunes en la automatización de infraestructuras es copiar archivos desde el nodo de control (la máquina que ejecuta Ansible) a los hosts remotos. Ansible ofrece una forma simple y eficiente de realizar esta tarea utilizando el módulo copy
.
El módulo copy
El módulo copy
en Ansible se utiliza para copiar archivos desde el nodo de control a los hosts remotos. Admite varias opciones, como:
src
: El archivo o directorio de origen en el nodo de control.
dest
: La ruta de destino en el host remoto.
owner
: El propietario del archivo en el host remoto.
group
: El grupo del archivo en el host remoto.
mode
: Los permisos del archivo en el host remoto.
Copiando un solo archivo
Para copiar un solo archivo desde el nodo de control a un host remoto, puedes utilizar el siguiente playbook de Ansible:
- hosts: all
tasks:
- name: Copy a file
copy:
src: /path/to/local/file.txt
dest: /path/to/remote/file.txt
owner: myuser
group: mygroup
mode: "0644"
En este ejemplo, se utiliza el módulo copy
para copiar el archivo file.txt
desde la ruta local /path/to/local/file.txt
a la ruta remota /path/to/remote/file.txt
. El archivo será propiedad del usuario myuser
y del grupo mygroup
, y tendrá permisos 0644
(lectura y escritura para el propietario, solo lectura para el grupo y otros).
Copiando un directorio
Para copiar un directorio completo desde el nodo de control a un host remoto, puedes utilizar el siguiente playbook de Ansible:
- hosts: all
tasks:
- name: Copy a directory
copy:
src: /path/to/local/directory/
dest: /path/to/remote/directory/
owner: myuser
group: mygroup
mode: "0755"
recursive: yes
En este ejemplo, se utiliza el módulo copy
para copiar el contenido del directorio local /path/to/local/directory/
al directorio remoto /path/to/remote/directory/
. La opción recursive
se establece en yes
para garantizar que se copie toda la estructura del directorio. Los archivos y directorios serán propiedad del usuario myuser
y del grupo mygroup
, y tendrán permisos 0755
(lectura, escritura y ejecución para el propietario, lectura y ejecución para el grupo y otros).
Al utilizar el módulo copy
, puedes copiar fácil y eficientemente archivos y directorios desde el nodo de control a los hosts remotos, optimizando tus flujos de trabajo de automatización de infraestructuras.