ansible-playbook copy模块(拷贝文件到目标服务器)

 

copy模块的作用就是拷贝文件,将ansible主机上的文件拷贝到远程主机中。

 

src参数    :用于指定需要copy的文件或目录

 

dest参数  :用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数

 

content参数  :当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错。

 

force参数  :  当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。

 

backup参数 :  当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机。

 

owner参数 : 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。

 

group参数 : 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。

 

mode参数 : 指定文件拷贝到远程主机后的权限,如果你想将权限设置为"rw-r--r--",则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示

 

 

拷贝单个文件到目标服务器上

[root@Jenkins copymodule]# cat copy.yml
---
- hosts: all
remote_user: root
gather_facts: false
tasks:
- name: "复制主机上的文件到目标服务器上"
copy:
src: "/root/ansible/luyan/copymodule/copytest1.txt"
dest: "/opt/copymodule"
owner: root
group: root
mode: 755

 

 

 

 

拷贝多个文件到目标服务器上

[root@Jenkins copymodule]# cat copyduogewenjian.yml
---
- hosts: all
remote_user: root
gather_facts: false
tasks:
- name: "复制主机上的文件到目标服务器上"
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
mode: 755
with_items:
- {src: "/root/ansible/luyan/copymodule/copytest1.txt", dest: "/opt/copymodule" }
- {src: "/root/ansible/luyan/copymodule/copytest2.txt", dest: "/opt/copymodule" }
- {src: "/root/ansible/luyan/copymodule/copytest3.txt", dest: "/opt/copymodule" }

 

posted @ 2020-12-02 21:29  大福920917  阅读(21300)  评论(0编辑  收藏  举报