使用Ansible复制存在的特定文件
我有一个角色,在大多数情况下我需要一个标准文件,但在某些主机上需要一个特定的文件。 在我角色的使用Ansible复制存在的特定文件,ansible,copy,Ansible,Copy,我有一个角色,在大多数情况下我需要一个标准文件,但在某些主机上需要一个特定的文件。 在我角色的file文件夹中,我有file.default和file.{{ansible\u hostname}},用于特定情况 有没有一个很好的方法可以在一个任务中做到这一点? 或者我必须在三个时间内完成(如果特定文件存在,请统计,如果是,请复制,如果不是,请复制标准文件) 谢谢你找到了 这些文件之间的差异是否小到可以作为模板?如果是这样的话,您可以使用一个(或多个)变量,该变量的默认值为,对于hosts\u v
file
文件夹中,我有file.default
和file.{{ansible\u hostname}}
,用于特定情况
有没有一个很好的方法可以在一个任务中做到这一点?
或者我必须在三个时间内完成(如果特定文件存在,请统计,如果是,请复制,如果不是,请复制标准文件)
谢谢你找到了
这些文件之间的差异是否小到可以作为模板?如果是这样的话,您可以使用一个(或多个)变量,该变量的默认值为,对于
hosts\u vars
中的特定主机,该变量将被覆盖。
- name: |
copy first existing file found to /some/file,
looking in relative directories from where the task is defined and
including any play objects that contain it
copy: src={{lookup('first_found', findme)}} dest=/some/file
vars:
findme:
- foo
- "{{inventory_hostname}}"
- bar