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"