synchronize模块是同步模块,类似于 rsync

参数 必填 默认值 注解
src yes 源地址路径
dest yes 目标地址路径
dest_port no ssh 连接端口
mode no push 1.mode=push 推送 ansible -> 远程主机 2.mode=pull 拉取 远程主机 <- ansible
group no 文件属组
owner no 文件属主
archive no yes 开启了 recursive(递归), links, perms, times,owner,group 和-D 参数,设置为 no,那么你将停止很多参数,比如会导致如下目的递归失败,导致无法拉取
delete no no delete=yes 镜像方式同步,使用两边内容一致
compress no yes 压缩文件数据在传输
times no 保持时间属性
perms no 保持权限
recursive no 递归
exclude no 忽略同步文件、目录

Ansible技术问答:http://linux.xyz/topic/Ansible

示例:

# 把 ansible 上/some/relative/path 下的文件和目录推送到远程主机上
- synchronize: src=/some/relative/path dest=/some/absolute/path

# 关闭 archive 属性进行推送
- synchronize: src=/some/relative/path dest=/some/absolute/path archive=no

# 不递归,仅推送目录当下文件
- synchronize: src=some/relative/path dest=/some/absolute/path recursive=no

# 在 ansible 控制机上保证 src 和 dest 目录内容保持一致
- local_action: synchronize src=/some/relative/path dest=/some/absolute/path

# 拉取模式,ansible 从远程主机上下载数据到本地路径
- synchronize: mode=pull src=some/relative/path dest=/some/absolute/path

# 镜像同步,ansible src 目录与远程主机 dest 目录保持一致
- synchronize: src=/some/relative/path dest=/some/absolute/path delete=yes