【Ansible】 Ansible工具copy模块的使用

Copy模块简介:

             将本地文件copy到远程主机

参数介绍       

名称  	必选	默认值	可选值	备注
backup	no	no	yes/no	在覆盖之前将原文件备份,备份文件包含时间信息
content	no			当用content代替src参数的时候,可以把文档的内容设置到特定的值
dest	yes			目标绝对路径。如果src是一个目录,dest也必须是一个目录。如果dest是不存在的路径,并且如果dest以/结尾或者src是目录,则dest被创建。如果src和dest是文件,如果dest的父目录不存在,任务将失败
follow	no	no	yes/no	是否遵循目的机器中的文件系统链接
force	no	yes	yes/no	当内容不同于源时,将替换远程文件。设置为no,则只有在目标不存在的情况下才会传输文件
group	no			设置文件/目录的所属组,将被馈送到chown
local_follow	no	yes	yes/no	是否遵循本地机器中的文件系统链接
mode	no			设置文件权限,模式实际上是八进制数字(如0644),少了前面的零可能会有意想不到的结果。从版本1.8开始,可以将模式指定为符号模式(例如u+rwx或u=rw,g=r,o=r)
owner	no			设置文件/目录的所属用户,将被馈送到chown
remote_src(2.0+)	no	no	yes/no	如果yes它会从目标机上搜索src文件
src	no			将本地路径复制到远程服务器; 可以是绝对路径或相对的。如果是一个目录,它将被递归地复制。如果路径以/结尾,则只有该目录下内容被复制到目的地,如果没有使用/来结尾,则包含目录在内的整个内容全部复制
unsafe_writes	no		yes/no	是否以不安全的方式进行,可能导致数据损坏
validate	no	None		复制前是否检验需要复制目的地的路径

3 语句示例

# 将本地文件test1 copy 到远程主机
# src 本地目录或文件
# dest 远程主机或者文件 如果是目录会自动创建,如果是文件,上级路径不存在会报错
ansible webserver -m copy -a "src=test1.txt  dest=/home/python/zml/"


# 将本地文件test1 copy 到远程主机 ,并且文件名一样时,如果文件内容发生变化,会先将远程主机文件备份
ansible webserver -m copy -a "src=test1.txt backup=yes dest=/home/python/zml/" 


# 将content内容写入到远程主机的文件中
ansible webserver -m copy -a "content='123\n456\n789' dest=/home/python/zml/test2.txt"

# 设置文件读写权限 mode参数
ansible webserver -m copy -a "content='123\n456\n789' mode=0755 dest=/home/python/zml/test2.txt"
发布了109 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41982304/article/details/105690425