1
我發送了數千個節點的配置文件,因爲有一些自定義可能有5或6個路徑到該文件(只有一個文件的主機,但路徑可能會有所不同)和沒有一種簡單的方法可以用事實來確定默認位置。Ansible發送文件到第一個遇到的目標
基於此,我正在尋找一些方法來設置複製模塊的「dest」,就像我們可以設置「src」一樣,使用with_first_found
loop。
類似的東西:
copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item}}
with_items:
- "/etc/nagios/nrpe.cfg"
- "/usr/local/nagios/etc/nrpe.cfg"
- "/usr/lib64/nagios/etc/nrpe.cfg"
- "/usr/lib/nagios/etc/nrpe.cfg"
- "/opt/nagios/etc/nrpe.cfg"
PS:所以如果有人知道一個更好的方式來發現其中的默認nrpe.cfg這將是一個輕鬆很多我送nrpe.cfg。
編輯1:我已經成功從@ydaetskcoR幫助像這樣的工作:
- name: find nrpe.cfg
stat:
path: "{{ item }}"
with_items:
- "/etc/nagios/nrpe.cfg"
- "/usr/local/nagios/etc/nrpe.cfg"
- "/usr/lib64/nagios/etc/nrpe.cfg"
- "/usr/lib/nagios/etc/nrpe.cfg"
- "/opt/nagios/etc/nrpe.cfg"
register: nrpe_stat
no_log: True
- name: Copy nrpe.cfg
copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item.stat.path}}"
when: item.stat.exists
no_log: True
with_items:
- "{{nrpe_stat.results}}"
你好@ydaetskcoR,其實這是我在做什麼,但現在我試圖找到一個解決方案沒有外殼,所以我可以使用--check –
我已經添加了第一次刺你可能需要使用統計數據,但沒有時間來測試它,然後調整它使它工作。如果你可以自己解決問題,那麼可以隨時提出修改建議,否則我會嘗試在有空閒時間時再看看這個。 – ydaetskcoR
感謝您的幫助。我編輯了我的帖子,分享我最後的努力。現在的問題是--diff不起作用 –