images\cherry_red.png1 Ansible
      images\cherry_blue.png1.1 ansible安装部署
   images\cherry_red.png2 功能模块
      images\cherry_blue.png2.1 playbook
      images\cherry_blue.png2.2 command模块
      images\cherry_blue.png2.3 shell模块
      images\cherry_blue.png2.4 copy模块
      images\cherry_blue.png2.5 package模块
      images\cherry_blue.png2.6 file模块
      images\cherry_blue.png2.7 fetch模块
      images\cherry_blue.png2.8 cron模块
      images\cherry_blue.png2.9 template模块
      images\cherry_blue.png2.10 service模块
      images\cherry_blue.png2.11 yum模块
      images\cherry_blue.png2.12 user模块
      images\cherry_blue.png2.13 group模块
      images\cherry_blue.png2.14 script模块
      images\cherry_blue.png2.15 setup模块
这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。
其相关选项如下:
src     #被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径。如果路径是一个目录,则会递归复制,用法类似于"rsync"
content    #用于替换"src",可以直接指定文件的值
dest     #必选项,将源文件复制到的远程主机的绝对路径
backup    #当文件内容发生改变后,在覆盖之前把源文件备份,备份文件包含时间信息
directory_mode #递归设定目录的权限,默认为系统默认权限
force     #当目标主机包含该文件,但内容不同时,设为"yes",表示强制覆盖;设为"no",表示目标主机的目标位置不存在该文件才复制。默认为"yes"
others     #所有的file 模块中的选项可以在这里使用


• 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表示。

play-book形式
- name: copy a file from local to remote
copy:
src: /tmp/test.txt
dest: /home/user/test.txt
owner: user
group: user
mode: 0644





mode=u+x or 数值,表示给予什么权限,一般用于先传递一个脚本,在远程执行相关的命令

批量复制文件
ansible Test -m copy -a 'src=~/1.txt dest=~/'
images\5-1.png


ansible Test -m copy -a 'content="hello would\n" dest=~/1.txt mode=666'

images\5-2.png


查看数据情况!

images\5-3.png



批量修改并且备份
ansible Test -m copy -a 'content="hello would !!!\n" backup=yes dest=~/1.txt mode=666'

images\5-4.png


备份并且修改文件名

images\5-5.png

images\5-6.png