我只想在具有特定机器主机名的情况下使用ansible为文件创建符号链接。我知道inventory_hostname会给我主机名,但是when: inventory_hostname in group['machines']我可以执行以下操作:
这样我可以在该组中的所有计算机上运行它吗?然后,我想根据机器名称进行符号链接。所以:
file:
src: {{ ansible_hostname }}.png
dest: anything.png
Run Code Online (Sandbox Code Playgroud)
您when: inventory_hostname in group['machines']根本不需要条件。
您只需要在上执行此任务,hosts: machines就可以创建到machines组中所有主机的符号链接。
更新
如果您仍然想要这样做,并朝着a运行剧本,big_group但只有在host成为的一部分时才采取行动small_group,以下是可以做到的事情:
主机文件:
[big_group]
greenhat
localhost
[small_group]
localhost
Run Code Online (Sandbox Code Playgroud)
剧本:
---
- hosts: big_group
# connection: local
gather_facts: false
vars:
tasks:
- name: print if machine is eligible for symbolic
debug:
msg: "machine: {{ inventory_hostname }} is eligible for symbolic link!"
when: inventory_hostname in groups['small_group']
Run Code Online (Sandbox Code Playgroud)
结果:
PLAY [big_group] ****************************************************************************************************************************************************************************************************
TASK [print if machine is eligible for symbolic] ********************************************************************************************************************************************************************
skipping: [greenhat]
ok: [localhost] => {
"msg": "machine: localhost is eligible for symbolic link!"
}
PLAY RECAP **********************************************************************************************************************************************************************************************************
greenhat : ok=0 changed=0 unreachable=0 failed=0
localhost : ok=1 changed=0 unreachable=0 failed=0
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
2645 次 |
| 最近记录: |