您可以使用fetch
和copy
的組合來執行此操作。
假設是結構像這樣的清單:
[source-servers]
ServerA
ServerC
[dest-servers]
ServerB source-server=ServerA
ServerD source-server=ServerB
然後跑到下面fetch
任務:
- name: fetch file from source servers
hosts: source-servers
fetch:
src: /path/to/file
dest: /tmp
會在ServerA文件/path/to/file
複製到Ansible控制主機/tmp/ServerA/path/to/file
下和/path/to/file
ServerB上的Ansible控制主機在/tmp/ServerB/path/to/file
從這裏開始,我們需要確保每個dest-servers
都有一個變量,它定義了在主機變量var下在單獨的主變量文件或in line in the inventory中與哪個服務器配對。
,然後我們可以把正確的文件右側dest-server
這個copy
任務:
- name: copy the paired files to the right servers
hosts: dest-servers
copy:
src: "/tmp/{{ source-server }}/path/to/file"
dest: /path/to/dest
謝謝...它的工作... – Bhotu
嗨@MahelaRanawat如果這個或任何答案已經解決您的問題,請考慮[接受它](http://meta.stackexchange.com/q/5234/179419)通過點擊複選標記。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – ydaetskcoR
真的非常感謝! @ydaetskcoR –