欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ansible中的同步模块(Synchronize)

程序员文章站 2022-06-28 22:32:13
...

 

例1:将主控方/tmp/test/ 目录文件推送到指定节点的/tmp/test/目录下。

[[email protected] ~]# ansible all -m synchronize -a ‘src=/tmp/test/ dest=/tmp/test/ compress=yes‘

例2:将主控方master上/data/stu01中的文件同步到client01主机的/data/soft的文件夹中。

[[email protected] tmp]# ansible client01 -m synchronize -a ‘src=/data/stu01 dest=/data/soft/ compress=yes delete=yes checksum=yes --exclude=.git‘

执行效果:
delete=yes 使两边的内容一样(即以推送方为主)

compress=yes 开启压缩,默认为开启

checksum=yes 检测sum值,防止文件篡改,默认关闭

--exclude=.git 忽略同步.git 结尾的文件

由于模块,默认都是推送push。因此,如果你在使用拉取pull 功能的时候,可以参考如下来实现mode=pull 更改推送模式为拉取模式

参数解释: 

参数

必填

默认值

选项

说明

archive

no

yes

yes

 no

显示rsync的存档标志所属信息

checksum

no

no

 yes

  no

校验

compress

no

yes

yes

 no

在传送过程中压缩文件数据

dest

yes

   

目标路径,路径可以绝对或相对

delete

no

no

yes

no

删除srv中不存在的文件

copy_links

no

no

yes

no

复制符号链接,是映射的文件复制

dest_port

no

22

yes

no

目标主机端口号(ansible_ssh_port优先于此值)

group

no

存档选项值

yes

no

保留文件的所属组

owner

no

存档选项值

yes

no

保留文件的所属者(只有超级用户可以操作)

perms

no

存档选项值

yes

no

保留文件的权限

rsync_opts

no

no

 

通过此选项指定其他的rsync的选项

rsync_path

no

   

指定rsync命令到远程主机上运行

rsync_timeout

no

0

 

指定rsync的timeout时间以秒为单位

src

yes

   

源地址(路径可以是绝对或相对的)

times

no

存档选项值

yes

no

保留文件的修改时间

exclude-from

no

no

yes

no

用于定义排除多个文件夹和文件

exclude

no

no

yes

no

用于定义排除单独的文件夹和文件

相关标签: 自动化运维