Un módulo práctico en Ansible es el módulo de archivo. Este módulo es responsable de realizar tareas, como crear archivos y directorios, eliminar archivos y directorios, crear enlaces simbólicos suaves y duros, agregar y modificar los permisos de archivos y directorio, y más.
Esta guía lo guiará a través de cómo trabajar con el módulo de archivo Ansible. Ilustraremos esto utilizando una colección de ejemplos y libros de jugadas.
NOTA: Asegúrese de tener acceso a sus hosts remotos especificados en el archivo de inventario de Ansible.
Cómo funciona el módulo de archivo ansible
El ansible.incorporado.El módulo de archivo está en la instalación de Ansible predeterminada como parte de Ansible-Core. Ansible recomienda referirse al módulo utilizando el "nombre totalmente calificado" en lugar del nombre del módulo corto para evitar conflictos con módulos de nombres similares.
El módulo de archivo contiene una colección de parámetros predefinidos para la administración de archivos. Utilizamos estos parámetros para configurar las acciones realizadas en el host remoto.
Los siguientes son parámetros importantes que puede usar:
Verifique los documentos del módulo de archivo Ansible para otros parámetros predefinidos.
La mejor manera de aprender a trabajar con el módulo de archivo Ansible es con ejemplos.
Módulo de archivo ansible: ejemplos prácticos
NOTA: Esta guía supone que tiene un nodo de control Ansible y sus hosts de destino agregados a su archivo de inventario.
Cómo crear un archivo vacío
Para crear un archivo vacío utilizando el módulo de archivo ansible, configuramos el estado en touch como se ilustra en el libro de jugadas.
---El libro de jugadas anterior contiene una configuración básica de Ansible:
Guardar el libro de jugadas y ejecutarlo en los hosts remotos:
Ansible-Playbook vacío.YMLCómo crear múltiples archivos
Ansible le permite crear varios archivos en una sola tarea. A continuación se muestra un ejemplo de libro de jugadas:
---En el libro de jugadas, utilizamos dos entradas de Ansible:
Ejecute Ansible-Playbook para crear múltiples archivos especificados:
Ansible-playbook múltiples archivos.YMLCómo crear un archivo con contenido
En los ejemplos anteriores, creamos archivos vacíos usando el comando touch. Para crear un archivo con contenido, podemos usar el módulo de copia y establecer el parámetro de contenido en el contenido del archivo.
A continuación se muestra un ejemplo de libro de jugadas:
---Los módulos y parámetros en el libro de jugadas anterior son:
Ejecute el libro de jugadas:
Ansible-playbook con contenido.YMLCómo crear un directorio
El libro de jugadas utilizado para crear un directorio utilizando el módulo de archivo Ansible es similar a la creación de un archivo vacío. Sin embargo, como se muestra a continuación, establecemos el estado en "directorio" en lugar de "archivo":
---Cómo eliminar un archivo o enlace simbólico
Eliminar archivos, directorios o enlaces simbólicos es muy sencillo; Todo lo que tenemos que hacer es establecer el estado ausente, como se muestra en el libro de jugadas a continuación:
---El libro de jugadas no hará nada si el archivo especificado no existe.
Cómo cambiar el permiso de un directorio
Utilizamos los parámetros propietario, grupo y modo del libro de jugadas para cambiar el permiso de un directorio.
El siguiente ejemplo establecerá los permisos especificados en el directorio.
---En el ejemplo de juego de jugadas de ejemplo, establecemos convertirse en: verdadero. Esto es necesario al establecer permisos para otros usuarios, excepto ansible_user
Usando el modo simbólico
Ansible le permite establecer los permisos en modo simbólico en lugar del formato octal. El modo a continuación es equivalente a 0777.
---NOTA: Configurar 0777 en un directorio como /var /log no es la mejor práctica, y la hemos usado aquí solo para fines de ilustración.
Cambiar los permisos de directorio recursivamente
Si desea cambiar los permisos en un directorio de manera recursiva, puede usar el parámetro de recursión como se muestra en el libro de jugadas a continuación:
---Configuración de recurrencias: True afectará los archivos dentro del directorio principal especificado.
Cómo crear un enlace simbólico
Crear un enlace simbólico utilizando el módulo de archivo Ansible es tan simple como crear un directorio vacío. En este caso, establecemos el estado en el enlace como se muestra en el libro de jugadas de ejemplo a continuación:
---Cómo eliminar un enlace simbólico
Eliminar un enlace simbólico es similar a eliminar un archivo regular.
---Cómo modificar el tiempo de acceso
Puede modificar el tiempo de acceso y modificación utilizando los parámetros access_time y modification_time.
Ejemplo del libro de jugadas:
- hecho realidadEstablecemos el access_time como la hora actual usando la función ahora.
También puede proporcionar tiempo para los parámetros access_time y modification_time en el formato (como una cadena):
Yyyymmddhhmm.SsConclusión
Esta guía lo ha ayudado a comprender cómo trabajar con el módulo de archivo Ansible en un libro de jugadas.