Trabajar con directorios en Ansible

Trabajar con directorios en Ansible
Ansible es una herramienta útil para administrar eficientemente los recursos a través de una red de dispositivos. Proporciona varias opciones a los usuarios, todo en un paquete. Esto incluye múltiples opciones de automatización y configuración de datos. Los componentes principales de Ansible son pequeños programas que realizan tareas específicas en un sistema. Estos se llaman módulos, y Ansible tiene muchos de ellos (más de 800). Entonces, en este artículo, repasamos cómo podemos instalar Ansible y usarlo para crear un nuevo directorio si aún no existe uno. Entonces, sin más preámbulos, vamos a sumergirnos en ello.

Instalar Ansible

Primero, instalamos Ansible si aún no está instalado en nuestros sistemas. Para instalar Ansible, siga los pasos que se dan a continuación. Pase a la siguiente parte si Ansible ya está instalado.

En primer lugar, actualizamos nuestro sistema para que todos los paquetes estén actualizados y no se encuentren problemas al instalar las dependencias para Ansible. Para actualizar el sistema, escribimos el siguiente comando.

$ sudo apt actualización && sudo apt actualización

A continuación, instalamos algunos paquetes que son los requisitos previos para instalar Ansible. Para instalar estos paquetes, escriba el siguiente comando.

$ sudo Apt Instalar software Properties-Common Python3 Python3-PIP Python3-Dev SSHPass Apt-Transport-HTTPS CATIFITATES LIBFFI-DEVIBKRB5-DEVIVE LIBCURL4-OPENSSL-DEV LIBSSL-DEVEV

Finalmente, podemos instalar Ansible y verificar su versión utilizando el siguiente conjunto de comandos.

$ sudo -h PIP3 Instalar Ansible

Y por último:

Ansible -Versión

Ahora que tenemos Ansible instalado, necesitamos un libro de jugadas para escribir scripts que automatizarán nuestras tareas diarias. Un editor de texto simple como VIM debe hacer, ya que no consume mucha memoria y admite el formato "YAML" en el que se escriben scripts Ansible.

Ahora pasemos al problema en cuestión, creando un nuevo directorio en Ansible si aún no existe. Describiremos los conceptos básicos de un directorio y explicaremos cómo podemos hacer nuevos directorios sobre Ansible con algunos ejemplos.

¿Qué es un directorio??

Un directorio es una ubicación que organiza y almacena archivos en una computadora. Puede pensar en ello como una hoja de ruta que muestra el contenido almacenado y su ubicación y división exacta. Ayuda al usuario a navegar los archivos en el sistema designando una ruta específica para cada archivo que tenemos en nuestro sistema.

Este mecanismo útil ayuda a mantener nuestro sistema organizado sin causar problemas. Por ejemplo, imagina que tienes dos juegos, pinball1 y pinball2. Estos juegos tienen sus directorios con sus datos guardados que contienen todo el progreso del jugador en los dos juegos. Si no hubiera directorios para distinguir ambos juegos, la carpeta de "Guardar datos" siempre sería sobrescribida por el juego que se jugó al final, perdiendo todos los datos anteriores.

Diferencia entre un archivo y un directorio

Los archivos y los directorios son dos términos diferentes. Un directorio es un área específica en la memoria de la computadora que contiene otros subdirectorios y archivos. Por otro lado, un archivo se puede almacenar en un directorio y contiene información utilizada por el sistema para ejecutar varias aplicaciones. También se debe tener en cuenta que un archivo tiene una extensión, mientras que un directorio no.

Hacer un directorio en Ansible

Podemos hacer un directorio en Ansible utilizando el módulo de archivo. Este módulo se utiliza para administrar enlaces simbólicos, directorios y archivos. También tiene otras características, como la imposición de archivos y la propiedad y permisos de directorio. Todas estas tareas se realizan en los hosts remotos. Un ejemplo que se muestra a continuación explica cómo se hace un nuevo directorio en Ansible si no existe.

- Nombre: demostración de directorio
archivo:
ruta: /src /newDirectory
Estado: directorio
Propietario: raíz
Grupo: raíz
Modo: 0775

Puede ejecutar libros de jugadas con la ayuda del siguiente comando:

Ansible-Playbook Testbook.YML

El script anterior hace un nuevo directorio llamado "nuevo director" con ruta /etc /newdirectory. El modo es un parámetro del módulo de archivo que indica que el propietario y el grupo del directorio pueden ejecutarlo, leerlo o escribirlo. Sin embargo, otros solo pueden ejecutar o leer el directorio y su contenido.

Podemos hacer el mismo directorio de otra manera, como se muestra a continuación.

- Nombre: demostración de directorio
Ansible.incorporado.archivo:
ruta: /src /newDirectory
Estado: directorio
Modo: 0775

Compruebe si el directorio existe en Ansible

Verificar si existe un directorio en particular en Ansible sigue el mismo procedimiento que verificar un archivo. La única diferencia es que usamos el valor ISDIR para confirmar la ruta del directorio.

- Nombre: Verifique si el directorio ya existe
Depurar:
MSG: "El directorio existe"
Cuándo: registrar_directory.stst.existe y registrar_directory.estadística.isdir

Crear un directorio con una ruta específica

- Anfitriones: todos
tareas:
- Nombre: Directorio con ruta específica
archivo:
ruta:/home/folder1/my_new_directory
Estado: directorio

El script anterior hace un nuevo directorio en la subcarpeta "carpeta1" del directorio de inicio. El directorio se realiza en el módulo de archivo, que maneja los archivos, directorios y operaciones discutidas anteriormente.

Cambiar permisos de un directorio

Podemos cambiar los permisos sobre quién puede leer, escribir o ejecutar el contenido de un directorio o archivo en el host remoto utilizando Ansible. El script se da a continuación.

- Anfitriones: todos
tareas:
- Nombre: permisos de directorio
archivo:
ruta:/home/folder1/my_new_directory
Estado: directorio
Modo: "u = rw, g = wx, o = rwx"

Aquí vemos que cambiamos el permiso (modo) a "u = rw, g = wx, o = rwx" Esta es una expresión simbólica que le dice a la computadora que permita que todos lean y escriban en el directorio. El modo puede ser una expresión simbólica o un número octal como "0755".

Directorio ambiguo

En caso de que no estemos seguros de si un directorio ya existe o no en nuestro sistema, podemos escribir un script que garantice que el directorio se verifique si existe. Si no es así, se realizará un nuevo directorio con ese nombre en el host remoto.

- Anfitriones: localhost
tareas:
- Nombre: Verifique el directorio si existe
estadística:
Path: /Home /Dir1
Registrarse: Newfolder
- Nombre: "En caso de que existiera el directorio"
depurar:
MSG: "Existe el directorio dado"
Cuándo: Newfolder.estadística.existe
- Nombre: "Ansible Crear directorio si no existe"
archivo:
Path: /Home /Dir1
Estado: directorio
Modo: 0755
Grupo: raíz
Propietario: raíz
Cuándo: Nuevo.estadística.existe == falso

Aquí el grupo y la raíz muestran que el acceso está permitido para el propietario y grupo de "raíz"

Conclusión

En este artículo, aprendimos sobre los módulos de estadísticas y archivos en Ansible y cómo ayudan a administrar directorios y archivos. También revisamos los scripts Ansible en caso de que quisiéramos hacer un directorio que aún no exista. Esperamos que haya podido encontrar una solución a su confusión con respecto a los directorios en Ansible después de leer este artículo.