📅  最后修改于: 2023-12-03 14:53:03.767000             🧑  作者: Mango
在使用 Ansible Adhoc 命令时,可以通过指定多个主机名或主机组来同时操作多个主机。下面介绍了几种将多个主机传递给 Ansible Adhoc 命令的方法。
通过在命令行中使用空格分隔的方式指定多个主机名,可以同时操作这些主机。
ansible all -i inventory_file -m module_name -a "arguments" -e "extra_vars"
示例:
ansible host1 host2 host3 -i inventory.ini -m shell -a "uptime" -e "ansible_user=ansible ansible_password=123456"
在 Ansible 的 inventory 文件中定义主机组,并在命令行中指定该主机组,可以同时操作该主机组内的所有主机。
ansible group_name -i inventory_file -m module_name -a "arguments" -e "extra_vars"
示例:
ansible mygroup -i inventory.ini -m shell -a "uptime" -e "ansible_user=ansible ansible_password=123456"
使用模式匹配可根据主机名的一部分或其他属性匹配多个主机,实现同时操作多个主机的目的。
ansible pattern -i inventory_file -m module_name -a "arguments" -e "extra_vars"
示例:
ansible web* -i inventory.ini -m shell -a "uptime" -e "ansible_user=ansible ansible_password=123456"
以上的命令将匹配所有以 "web" 开头的主机名,并执行 uptime
命令。
无论使用哪种方式,都可以将多个主机传递给 Ansible Adhoc 命令,实现批量操作和管理主机的需求。
注意:示例中的 inventory_file
是 Ansible 的 inventory 文件,module_name
是要执行的模块名称,arguments
是模块的参数,extra_vars
是额外的变量。
以上内容希望能帮助到你,如果有任何疑问,请随时提问。