Comment imprimer la sortie de la commande dans ANIBLE?

Comment imprimer la sortie de la commande dans ANIBLE?
Habituellement, lorsque vous exécutez un livre de jeu ANSIBLE, vous obtenez des détails d'exécution imprimés sur le terminal. Ceux-ci incluent le nom du jeu et de la tâche et un récapitulatif de jeu indiquant si le livre de jeu a apporté des modifications à l'hôte géré ou au système distant

Mais, supposons que vous souhaitiez imprimer la sortie de commande de la commande en cours d'exécution sur la cible distante. Comment allez-vous à ce sujet? Dans ce tutoriel, vous apprendrez à imprimer la sortie de commande dans ANIBLE.

Conditions préalables

Avant de commencer, assurez-vous que vous avez installé sur votre système Linux. Dans ce guide, nous dirigeons Ubuntu 20.04 dans lequel ANSIBLE a installé. Consultez notre guide sur la façon d'installer ANSIBLE sur Ubuntu 20.04.

Imprimer la sortie de la commande dans ANIBLE

Laissez prendre un fichier playbook simple qui répertorie le répertoire domestique de l'hôte géré ou de l'hôte distant.

---
- Hôtes: mise en scène
Nom: Énumérez le contenu du répertoire de la maison
Tâches:
- Nom: lister les fichiers et le dossier dans le répertoire domestique
Shell: 'ls -l'

Le Playbook fonctionnera très bien; Cependant, la sortie ne sera pas affichée sur le terminal. Tout ce qui est enregistré, c'est la nature de l'activité qui se passe sur l'hôte géré.

Lorsqu'un fichier playbook est exécuté, chaque tâche enregistre sa sortie dans une variable. Pour capturer la sortie, vous devez spécifier votre propre variable dans laquelle la sortie sera enregistrée. Pour y parvenir, nous utilisons le 'enregistrer' paramètre pour enregistrer la sortie vers une variable. Puis utilisez le 'déboguer' module pour afficher le contenu de la variable pour standard.

Pour démontrer cela, utilisons quelques exemples.

Exemple 1: Imprimez la sortie de la commande des fichiers de liste dans le répertoire domestique

Plus tôt, nous avons fourni un exemple de fichier playbook qui répertorie le contenu du répertoire domestique d'un hôte géré. Cependant, comme nous l'avons découvert, la sortie n'est pas imprimée pour standard.

Nous utiliserons le paramètre «enregistrement» pour enregistrer les résultats dans une variable appelée Command_output pour résoudre ce problème. Ensuite, nous imprimerons la sortie en utilisant le 'déboguer' module.

Voici le fichier de playbook complet.

---
- Hôtes: mise en scène
Nom: Énumérez le contenu du répertoire de la maison
Tâches:
- Nom: lister les fichiers et le dossier dans le répertoire domestique
Shell: 'ls -l'
enregistrer: Command_output
- déboguer:
var: command_output.stdout_lines

Lorsque le fichier playbook est exécuté, la sortie du contenu du répertoire domestique est imprimée pour standard.

$ anible-playbook / etc / anible / list_contents.YML

Exemple 2: Imprimez la sortie de commande de la commande de hausse

Prenons un autre scénario où nous imprimons la sortie de 'durée de la baisse'Commande sur le shell de l'hôte géré. Comme vous le savez peut-être, la commande de disponibilité imprime des détails tels que la durée du système depuis sa mise sous tension, les utilisateurs connectés et la moyenne de chargement.

Nous avons créé un fichier playbook appelé check_uptime.YML, comme montré.

---
- Hôtes: mise en scène
Nom: Vérifiez la disponibilité de l'hôte distant
Tâches:
- Nom: vérifiez le temps de disponibilité du serveur Ubuntu distant
Shell: la disponibilité
enregistrer: Command_output
- déboguer:
var: command_output.stdout_lines

Lorsqu'il est exécuté, les détails de disponibilité sont imprimés au terminal comme indiqué.

$ anible-playbook / etc / anible / check_uptime.YML

Conclusion

Ce guide montre comment vous pouvez imprimer la sortie de la commande pour standard dans ANSIBLE. C'était instructif, et que vous pouvez maintenant imprimer la sortie de votre commande à Std Out.