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文件中配置好用户名和密码。程序