1 Ansible 1.1 ansible安装部署 |
2 功能模块 |
2.1 playbook |
2.2 command模块 |
2.3 shell模块 |
2.4 copy模块 |
2.5 package模块 |
2.6 file模块 |
2.7 fetch模块 |
2.8 cron模块 |
2.9 template模块 |
2.10 service模块 |
2.11 yum模块 |
2.12 user模块 |
2.13 group模块 |
2.14 script模块 |
2.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=~/'
ansible Test -m copy -a 'content="hello would\n" dest=~/1.txt mode=666'
查看数据情况!
批量修改并且备份 ansible Test -m copy -a 'content="hello would !!!\n" backup=yes dest=~/1.txt mode=666'
备份并且修改文件名
|