参数
这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。 其相关选项如下:
src
#被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径。如果路径是一个目录,则会递归复制,用法类似于"rsync"
content
#用于替换"src",可以直接指定文件的值
dest
#必选项,将源文件复制到的远程主机的绝对路径
backup
#当文件内容发生改变后,在覆盖之前把源文件备份,备份文件包含时间信息
directory_mode
#递归设定目录的权限,默认为系统默认权限
force
#当目标主机包含该文件,但内容不同时,设为"yes",表示强制覆盖;设为"no",表示目标主机的目标位置不存在该文件才复制。默认为"yes"
others
#所有的 file 模块中的选项可以在这里使用
复制文件
- src 复制到远程主机的本主机文件
- dest
然后进行同时复制操作
ansible slave -m copy -a 'src=~/hello.txt dest=/tmp/hello'
src=~/hello.txt # root 目录下的hello.txt 文件
dest=/data/hello # 复制到的路径
命令已经执行成功了
可以看到已经复制过来并进行改名
给定内容生成文件,并制定权限
- content 生成内容参数
- mode 指定权限
ansible slave -m copy -a 'content="I am baipiao\n" dest=/tmp/name.txt mode=666'
执行成功了
验证
ansible slave -m shell -a 'ls -l /tmp'
可以看到 name.txt 权限是是666
关于覆盖
- 我们把文件的内容修改一下,然后选择覆盖备份
先查看当前内容
ansible slave -m shell -a 'cat /tmp/name.txt'
覆盖并备份
ansible slave -m copy -a 'content="I a baipiao22222" backup=yes dest=/tmp/name.txt mode=777'
content="I a baipiao22222" #定义备份
backup=yes # 确定备份
dest=/tmp/name.txt # 指定文件
mode=777 # 指定权限
查看文件权限 还有有没有备份
ansible slave -m shell -a 'ls -l /tmp'
查看文件内容
ansible slave -m shell -a 'cat /tmp/name.txt'
可以看到 两个 内容已经被修改了
文章来源:https://www.toymoban.com/news/detail-851149.html
copy 模块 完结文章来源地址https://www.toymoban.com/news/detail-851149.html
到了这里,关于Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!