Técnicas avanzadas de gestión de directorios
Creación condicional de directorios
Puedes utilizar las declaraciones condicionales de Ansible para crear directorios basados en ciertas condiciones. Por ejemplo, puedes crear un directorio solo si se establece una variable específica.
- hosts: all
vars:
create_example_dir: true
tasks:
- name: Create a directory if the variable is set
file:
path: /tmp/example
state: directory
when: create_example_dir
En este ejemplo, el directorio solo se creará si la variable create_example_dir se establece en true.
Creación iterativa de directorios
Los bucles de Ansible se pueden utilizar para crear múltiples directorios a la vez. Esto es especialmente útil cuando necesitas crear una gran cantidad de directorios.
- hosts: all
vars:
directory_names:
- /tmp/dir1
- /tmp/dir2
- /tmp/dir3
tasks:
- name: Create multiple directories
file:
path: "{{ item }}"
state: directory
loop: "{{ directory_names }}"
Esto creará los directorios /tmp/dir1, /tmp/dir2 y /tmp/dir3 en todos los nodos administrados.
Eliminación de directorios
El módulo file también se puede utilizar para eliminar directorios. Para eliminar un directorio, puedes establecer el parámetro state en absent.
- hosts: all
tasks:
- name: Remove a directory
file:
path: /tmp/example
state: absent
Esto eliminará el directorio /tmp/example en todos los nodos administrados.
Manejo de enlaces simbólicos
El módulo file de Ansible también se puede utilizar para gestionar enlaces simbólicos. Puedes crear un enlace simbólico estableciendo el parámetro state en link y especificando los parámetros src y dest.
- hosts: all
tasks:
- name: Create a symbolic link
file:
src: /tmp/example
dest: /tmp/example-link
state: link
Esto creará un enlace simbólico /tmp/example-link que apunta al directorio /tmp/example.