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

相關文章
相關標籤/搜索