是否可以使用通常包含在中的内容ansible_facts
在 Ansible 即席命令中?
例如,我有一个文件位于/tmp/myFile
在我所有的服务器上,我想做:
ansible all -i [inventory file] -m fetch -a "src=/tmp/myFile dest=myFile-[insert ansible_hostname here]"
无需为此制定完整的剧本。
不,您不能在 ansible cli 中引用 ansible 事实。这是因为当你跑步时ansible ... -m fetch
您没有获得正在运行的主机的事实。事实汇集于setup
模块(你可以尝试这样做ansible ... -m setup
。
无论如何,这可以通过一个简单的剧本来解决,例如
# file: fetchfile.yml
- hosts: all
tasks:
- fetch: src=/tmp/myFile dest=myFile-{{ inventory_hostname }}
$ ansible-playbook -i [inventory_file] fetchfile.yml
ansible-playbook
运行setup
隐式模块,因此您可以将所有事实作为变量访问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)