Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等

目录

    • 参数
    • 复制文件
      • 然后进行同时复制操作
  • 给定内容生成文件,并制定权限
    • 验证
  • 关于覆盖
    • 先查看当前内容
    • 覆盖并备份
    • 查看文件权限 还有有没有备份
    • 查看文件内容

参数

这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。   其相关选项如下:

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  # 复制到的路径

命令已经执行成功了
Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第1张图片
可以看到已经复制过来并进行改名
Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第2张图片

给定内容生成文件,并制定权限

  • content 生成内容参数
  • mode 指定权限
ansible slave -m copy -a 'content="I am baipiao\n" dest=/tmp/name.txt mode=666' 

执行成功了
Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第3张图片

验证

ansible slave -m shell -a 'ls -l /tmp'

可以看到 name.txt 权限是是666
Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第4张图片

关于覆盖

  • 我们把文件的内容修改一下,然后选择覆盖备份

先查看当前内容

ansible slave -m shell -a 'cat /tmp/name.txt'

Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第5张图片

覆盖并备份

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 copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第6张图片

查看文件权限 还有有没有备份

ansible slave -m shell -a 'ls -l /tmp'

Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第7张图片

查看文件内容

ansible slave -m shell -a 'cat /tmp/name.txt'

可以看到 两个 内容已经被修改了
Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等_第8张图片


copy 模块 完结

你可能感兴趣的:(运维服务,ansible,网络,服务器)