Cómo imprimir la salida del comando en Ansible?

Cómo imprimir la salida del comando en Ansible?
Por lo general, cuando ejecuta un libro de jugadas Ansible, obtienes detalles de ejecución impresos en la terminal. Estos incluyen el nombre de la obra y la tarea y un resumen de reproducción que indica si el libro de jugadas ha realizado algún cambio en el host administrado o el sistema remoto

Pero, suponga que desea imprimir la salida del comando del comando que se ejecuta en el objetivo remoto. ¿Cómo te va?? En este tutorial, aprenderá cómo imprimir la salida de comando en Ansible.

Requisitos previos

Antes de comenzar, asegúrese de tener Ansible instalado en su sistema Linux. En esta guía, estamos ejecutando Ubuntu 20.04 en el que se instaló Ansible. Consulte nuestra guía sobre cómo instalar Ansible en Ubuntu 20.04.

Salida del comando de impresión en Ansible

Tome un archivo de libro de jugadas simple que enumera el directorio de inicio del host administrado o el host remoto.

---
- Anfitriones: puesta en escena
Nombre: Enumere el contenido del directorio de inicio
tareas:
- Nombre: Lista de archivos y carpeta en el directorio de inicio
Shell: 'ls -l'

El libro de jugadas funcionará bien; Sin embargo, la salida no se mostrará en el terminal. Todo lo que está registrado es la naturaleza de la actividad que ocurre en el host administrado.

Cuando se ejecuta un archivo de libro de jugadas, cada tarea guarda su salida en una variable. Para capturar la salida, debe especificar su propia variable en la que se guardará la salida. Para lograr esto, usamos el 'registro' parámetro para registrar la salida a una variable. Luego usa el 'depurar' módulo para mostrar el contenido de la variable a estándar.

Para demostrar esto, usemos algunos ejemplos.

Ejemplo 1: Imprima la salida del comando de los archivos de listado en el directorio de inicio

Anteriormente, proporcionamos un ejemplo de un archivo de libro de jugadas que enumera el contenido del directorio de inicio de un host administrado. Sin embargo, como descubrimos, la salida no se imprime para salir estándar.

Usaremos el parámetro 'Registro' para registrar los resultados en una variable llamada Command_output para resolver este problema. Luego, imprimiremos la salida usando el 'depurar' módulo.

Aquí está el archivo completo del libro de jugadas.

---
- Anfitriones: puesta en escena
Nombre: Enumere el contenido del directorio de inicio
tareas:
- Nombre: Lista de archivos y carpeta en el directorio de inicio
Shell: 'ls -l'
Registrar: command_output
- depurar:
var: command_output.stdout_lines

Cuando se ejecuta el archivo del libro de jugadas, la salida del contenido del directorio de inicio se imprime a estándar.

$ Ansible-playbook/etc/ansible/list_contents.YML

Ejemplo 2: Imprima la salida del comando del comando de tiempo de actividad

Tomemos otro escenario en el que estemos imprimiendo la salida de 'tiempo de actividad'Comando en el shell del host administrado. Como puede saber, el comando de tiempo de actividad imprime detalles, como cuánto tiempo se ha ejecutado el sistema desde que se encendió, inició sesión en los usuarios y cargó promedio.

Creamos un archivo de libro de jugadas llamado check_uptime.YML, como se muestra.

---
- Anfitriones: puesta en escena
Nombre: tiempo de excursión del host remoto
tareas:
- Nombre: Crunción de tiempo de arriba del servidor Ubuntu remoto
Shell: tiempo de actividad
Registrar: command_output
- depurar:
var: command_output.stdout_lines

Cuando se ejecuta, los detalles del tiempo de actividad se imprimen en el terminal como se muestra.

$ Ansible-playbook/etc/ansible/check_uptime.YML

Conclusión

Esta guía demuestra cómo puede imprimir la salida del comando para salir estándar en ansible. Esto fue esclarecedor y que ahora puede imprimir la salida de su comando para salir.