ansible - 如何列出主机所属的组?

标签 ansible

我有一个非常复杂的Ansible设置,其中包含成千上万的服务器和成百上千的各种服务器所属的组(动态 list 文件)。

有什么方法可以轻松显示特定主机所属的所有组?

我知道如何列出所有组及其成员:

ansible localhost -m debug -a 'var=groups'

但是我不想对所有主机都这样做,而只对单个主机这样做。

最佳答案

创建一个名为“showgroups”(可执行文件)的剧本,其中包含:

#!/usr/bin/env ansible-playbook

- hosts: all
  gather_facts: no
  tasks:
  - name: show the groups the host(s) are in
    debug:
      msg: "{{group_names}}"

您可以像这样运行它以显示 list (-i)中一个特定主机(-l)的组:
 ./showgroups -i develop -l jessie.fritz.box 

关于ansible - 如何列出主机所属的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46362787/

相关文章:

ansible - 如何在ansible中配置UFW拒绝策略而不断开连接?

ansible - 无法通过本地连接使用 ansible_user

xml - Ansible:虚拟模块 XML 错误

ansible - 如果主机无法访问,则中止 ansible playbook

linux - 使用ansible更改远程服务器上所有脚本的权限

python - 想要隐藏 "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" } from ping module output?

mysql - Vagrant、Ansible 和 MySql : ERROR! 在任务中未检测到任何操作。这通常表示模块名称拼写错误或模块路径不正确

json - 用于展平对象数组的 JMESPath 表达式,每个对象都有嵌套的对象数组

shell - ansible shell转义单引号和双引号

task - 显示完成每个无用的任务所需的时间