目录
- 参数
- 复制文件
- 然后进行同时复制操作
- 给定内容生成文件,并制定权限
- 验证
- 关于覆盖
- 先查看当前内容
- 覆盖并备份
- 查看文件权限 还有有没有备份
- 查看文件内容
参数
这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。 其相关选项如下:
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'
可以看到 两个 内容已经被修改了
copy 模块 完结