Ansible,请不要在剧本中指定主机,也不要通过命令行指定主机

时间:2020-02-24 16:44:32

标签: ansible

问题

我有一部剧本可以从备份中还原数据。这是一种可能在hosts: all上运行的破坏性操作。因此,目前我的剧本中有hosts: all。 我想强迫用户指定要为其还原备份的主机,这样,如果运行的剧本没有--limit选项,则该剧本将不起作用。

问题

有什么方法可以保护剧本,以便您必须手动指定要定位的主机,而不是all

1 个答案:

答案 0 :(得分:2)

好的。

只需在您的剧本(example.yml)中写

---
 - name: Limited playbook
   hosts: "{{ target }}"
   tasks:
    - debug:
      msg: "Running on {{ inventory_hostname }}"

运行剧本就像

ansible example.yml -e target=host1

如果需要,还可以为target添加默认值。