Uso del módulo de búsqueda ansible para localizar archivos

Uso del módulo de búsqueda ansible para localizar archivos
Ansible es una CLI, buscamos archivos particulares utilizando el módulo "Find". El módulo Find es la línea de comando Ansible Analog para la opción de búsqueda en GUIS.

También se puede decir que el módulo Find es muy similar a usar el comando "Find" en Linux. Por supuesto, los parámetros y operadores para el módulo y el comando son diferentes, pero funcionan de la misma manera.

Si desea aprender cómo encontrar archivos y carpetas usando Ansible, ha venido al lugar correcto, ya que le daremos una guía completa sobre el módulo Find.

Parámetros del módulo Find

Buscar puede buscar sus archivos en función de diferentes atributos. Puede aplicar filtros como la edad del archivo, la última fecha de acceso, la fecha modificada, etc. Estos filtros se pueden especificar en los parámetros mientras se usa el módulo Find. Los diferentes parámetros disponibles son:

Edad: Como se mencionó anteriormente, el parámetro de edad se puede especificar con Find para que Ansible pueda buscar archivos que tengan días de edad "XYZ" o que tengan edad "XYZ".

Contiene: En caso de que recuerde lo que se escribió en el archivo que está buscando, puede especificar ese patrón de cadena o regex con el parámetro "Contiene". El sistema verificará los archivos para esa cadena en particular y le dará los archivos que contienen esa cadena.

Profundidad: Este parámetro se utiliza para especificar el número de niveles de directorios, el sistema debe ir para verificar el archivo en particular que está buscando.

Tipo de archivo: Con este parámetro, especifica el "tipo de archivo" que se supone que el sistema debe buscar. Usando "cualquier cosa", le dice al sistema que verifique cada tipo de archivo presente en la memoria. También puede elegir buscar el archivo en un directorio específico. Otra opción es especificar el tipo de archivo. El módulo luego mirará solo el tipo de archivo especificado.

Oculto: Algunos archivos se ocultan. Con este parámetro, puede decirle al módulo que verifique el archivo que está buscando entre los archivos ocultos también.

Caminos: Como su nombre indica, este parámetro especifica las rutas de directorio que el sistema buscará para encontrar el archivo que desea acceder.

Patrones: Estos patrones son los patrones de shell y regex. Usando este parámetro, podemos especificar el módulo para buscar archivos que tengan estos patrones de regex o shell en sus Basenames. Cuando se especifican los patrones regex, el módulo busca que el archivo tenga patrones regex similares en sus nombres base y le devuelva esos archivos como salida. Este parámetro también espera que se dan una lista de diferentes patrones regex.

Excluye: Este parámetro se combina con el parámetro "Patrones". Excluye decirle al módulo que busque archivos que no tengan el patrón regex especificado.

Read_whole_file: Este parámetro se combina con el parámetro "Contiene". Indica al sistema que busque el patrón regex especificado con el "contiene" en todo el archivo.

Recurrente: El patrón de recurse especifica que el módulo busca el archivo moviéndose recursivamente (hacia arriba) entre los directorios.

Tamaño: Este parámetro especifica el tamaño del archivo. Cuando pasamos un tamaño de archivo al módulo, busca archivos que tienen un tamaño más grande que el especificado. Para buscar archivos que tienen tamaños más pequeños que el especificado, use el signo menos (-) antes del valor numérico.

Use_regex: Este parámetro tiene un valor booleano. Si es "verdadero", el módulo busca los archivos para el patrón regex especificado. En caso de que sea "falso", el módulo busca archivos que tienen patrones de shell en sus basessames.

Estos fueron los parámetros disponibles con el módulo Find. A continuación, miramos los valores de retorno.

Examinado: Esto nos dice el número de archivos que el módulo ha examinado mientras busca el objeto especificado.

Archivos: Estos son todos los archivos que han igualado la consulta que dimos al módulo.

Emparejado: el número de archivos que han igualado nuestra consulta.

Skipped_paths: Esto nos dice que los caminos se saltan mientras encontraban el objeto y por qué fueron omitidos.

Ejemplos

- Nombre: Find /xyz archivos mayores de 10 días
encontrar:
rutas: /xyz
Edad: 2d
Recurse: si

Una vez hecho esto, tendría que ejecutar el siguiente comando en el shell de Linux:

Ansible-Playbook Testbook.YML

En el ejemplo anterior, hemos especificado las rutas de los archivos y la edad de esos archivos. El módulo se verá en el directorio especificado y nos dará esos archivos cuya edad es mayor de 10 días.

- Nombre: buscar /var /registrar todos los directorios
encontrar:
rutas: /var /log
Recurse: no
file_type: directorio
excluye: 'xyz'

Para ejecutar este libro de jugadas, el siguiente comando tendría que ejecutarse en el terminal de comando:

Ansible-Playbook Testbook.YML

Aquí, hemos especificado el tipo de archivo y las rutas para buscar. El archivo_type se ha especificado como "directorio", por lo que el módulo buscará todos los directorios. El parámetro "excluye" que hemos utilizado es especificar un patrón de regex arbitrario para no buscar.

Conclusión

En este artículo, miramos a Ansible Find a Module. Encontrar se puede usar para buscar un archivo específico en nuestro sistema. También observamos los diferentes parámetros disponibles con Find. Los diferentes parámetros disponibles realmente nos ayudan a reducir la búsqueda; Esto hace que el módulo sea más eficiente.

Si esperaba encontrar un archivo perdido usando Ansible, esperamos que lo ayudemos a comprender cómo podría hacerlo usando el módulo Find. Para más consultas, háganos saber en los comentarios.