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

本文详细介绍了Ansible的mcopy模块,如何使用它进行文件复制,生成文件内容,并设置权限。涉及src、content、dest等参数,以及覆盖策略和备份选项。
摘要由CSDN通过智能技术生成

参数

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

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 模块 完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白嫖一茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值