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.