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

场景:

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

主机a不能保存文件,可以临时保存。

文件都在主机b上保存。

需求:

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

方案:

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

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

fetch模块

从远程到本地

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

如果dest指定文件名则传过来的文件就会重命名。

copy模块

从本地到远程

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

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

 

posted @ 2018-04-18 19:43  jugglee  阅读(9210)  评论(0编辑  收藏  举报