利用Ansible模块copy和fetch进行主机间文件的传递

场景:

java应用程序和Ansible不在同一台机子,要读取的文件又在另外一台主机。java

主机a不能保存文件,能够临时保存。linux

文件都在主机b上保存。fetch

需求:

须要将文件从主机c传到主机b,再从主机b传到主机c,使用完以后删除。spa

方案:

文件传递可使用linux的scp命令,可是在传递过程当中须要输入密码,不现实;code

最后选择使用Ansible的copy和fetch模块。blog

fetch模块

从远程到本地class

- fetch:
    src: /tmp/somefile
    dest: /tmp/fetched

若是dest指定文件名则传过来的文件就会重命名。配置

copy模块

从本地到远程file

 - copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    mode: 0644

从主机c到主机b使用fetch,从主机b到主机c使用copy,只须要在Ansible的hosts文件中配置好用户名和密码。程序

相关文章
相关标签/搜索