java應用程序和Ansible不在同一臺機子,要讀取的文件又在另外一臺主機。java
主機a不能保存文件,能夠臨時保存。linux
文件都在主機b上保存。fetch
須要將文件從主機c傳到主機b,再從主機b傳到主機c,使用完以後刪除。spa
文件傳遞可使用linux的scp命令,可是在傳遞過程當中須要輸入密碼,不現實;code
最後選擇使用Ansible的copy和fetch模塊。blog
從遠程到本地class
- fetch: src: /tmp/somefile dest: /tmp/fetched
若是dest指定文件名則傳過來的文件就會重命名。配置
從本地到遠程file
- copy: src: /srv/myfiles/foo.conf dest: /etc/foo.conf mode: 0644
從主機c到主機b使用fetch,從主機b到主機c使用copy,只須要在Ansible的hosts文件中配置好用戶名和密碼。程序