Ansible是一种自动化工具,可用于管理和部署软件和服务。有时,你需要在特定的主机或主机组中运行某些任务,而不是在所有主机中运行。这时,你可以使用Ansible adhoc限制主机的功能,指定只在特定主机或主机组中运行任务。
以下是实现此功能的示例代码:
ansible all -m ping --limit host1
这个命令将在名为host1的主机上运行ping模块。
你可以使用以下命令来限制多个主机:
ansible all -m ping --limit "host1:host2"
这个命令将在名为host1和host2的主机上运行ping模块。
除了使用主机名,你还可以使用主机组名来限制主机。例如,以下命令将在名为web_servers的主机组中的所有主机上运行ping模块:
ansible all -m ping --limit "@web_servers"
注意,使用limit选项时,你需要在主机或主机组名称前加上“@”符号。
最后,你可以通过在playbook中定义hosts来限制Ansible任务的范围。以下是一个示例playbook:
- hosts: web_servers
tasks:
- name: 确认服务器时间
shell: date
此playbook将仅在web_servers主机组中运行。