ansible之synchronize模块数据同步

sync数据同步文件等,官方栗子http://docs.ansible.com/ansible/synchronize_module.html

用法

[[email protected] ~]# ansible-doc -s synchronize
less 436
Copyright (C) 1984-2009 Mark Nudelman
less comes with NO WARRANTY, to the extent permitted by law.
For information about the terms of redistribution,
see the file named README in the less distribution.
Homepage: http://www.greenwoodsoftware.com/less
- name: Uses rsync to make synchronizing file paths in your playbooks quick and easy.
  action: synchronize
      archive                # Mirrors the rsync archive flag, enables recursive, links, perms, times, owner, group flags and
                               -D.
      checksum               # Skip based on checksum, rather than mod-time & size; Note that that "archive" option is still
                               enabled by default - the "checksum" option will not disable it.
      compress               # Compress file data during the transfer. In most cases, leave this enabled unless it causes
                               problems.
      copy_links             # Copy symlinks as the item that they point to (the referent) is copied, rather than the symlink.
      delete                 # Delete files that don‘t exist (after transfer, not before) in the `src‘ path. This option
                               requires `recursive=yes‘.
      dest=                  # Path on the destination host that will be synchronized from the source; The path can be absolute
                               or relative.
      dest_port              # Port number for ssh on the destination host. Prior to ansible 2.0, the ansible_ssh_port inventory
                               var took precedence over this value.
      dirs                   # Transfer directories without recursing
      existing_only          # Skip creating new files on receiver.
      group                  # Preserve group
      links                  # Copy symlinks as symlinks.
      mode                   # Specify the direction of the synchronization. In push mode the localhost or delegate is the
                               source; In pull mode the remote host in context is the source.
      owner                  # Preserve owner (super user only)
      partial                # Tells rsync to keep the partial file which should make a subsequent transfer of the rest of the
                               file much faster.
      perms                  # Preserve permissions.
      recursive              # Recurse into directories.
      rsync_opts             # Specify additional rsync options by passing in an array.
      rsync_path             # Specify the rsync command to run on the remote host. See `--rsync-path‘ on the rsync man page.
      rsync_timeout          # Specify a --timeout for the rsync command in seconds.
      set_remote_user        # put [email protected] for the remote paths. If you have a custom ssh config to define the remote user for a
                               host that does not match the inventory user, you should set this
                               parameter to "no".
      src=\‘#\‘" /pre>

选项说明

archive                # 是否采用归档模式同步,即以源文件相同属性同步到目标地址

checksum               # 是否效验

compress               # 开启压缩,默认为开启

copy_links             # 同步的时候是否复制连接

delete                 # 删除源中没有而目标存在的文件(即以推送方为主)

dest=                  # 目标地址

dest_port              # 目标接受的端口,ansible配置文件中的 ansible_ssh_port 变量优先级高于该 dest_port 变量

dirs                   # 以非递归的方式传输目录

existing_only          # Skip creating new files on receiver.

group                  # Preserve group

links                  # Copy symlinks as symlinks.

mode                   # 模式,rsync 同步的方式 PUSH\PULL,默认都是推送push。如果你在使用拉取pull功能的时候,可以参考如下来实现mode=pull   更改推送模式为拉取模式

recursive              # 是否递归 yes/no

rsync_opts             # 使用rsync 的参数

rsync_path             # 服务的路径,指定 rsync 命令来在远程服务器上运行。这个参考rsync命令的--rsync-path参数,--rsync-path=PATH     # 指定远程服务器上的rsync命令所在路径信息

rsync_timeout          # 指定 rsync 操作的 IP 超时时间,和rsync命令的 --timeout 参数效果一样.

set_remote_user        # put [email protected] for the remote paths. If you have a custom ssh config to define the remote user for

src=\‘#\‘"                 # 源,同步的数据源

times                  #

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

由于模块默认启用了archive参数,该参数默认开启了recursive, links, perms, times, owner,group和-D参数。如果你将该参数设置为no,那么你将停止很多参数,比如会导致如下目的递归失败,导致无法拉取

使用rsync 模块,系统必须安装rsync 包,否则无法使用这个模块

[[email protected] ~]# ansible web -m synchronize -a ‘src=time.sh dest=/tmp/‘

web | FAILED! => {

"changed": false,

"failed": true,

"msg": "Failed to find required executable rsync"

}

安装rsync

[[email protected] ~]# ansible web -a ‘yum install rsync -y‘

web | SUCCESS | rc=0 >>

Loaded plugins: fastestmirror

Determining fastest mirrors

* base: mirrors.opencas.cn

* extras: mirrors.opencas.cn

* updates: mirrors.opencas.cn

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package rsync.x86_64 0:3.0.6-12.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package         Arch             Version                  Repository      Size

================================================================================

Installing:

rsync           x86_64           3.0.6-12.el6             base           335 k

Transaction Summary

================================================================================

Install       1 Package(s)

Total download size: 335 k

Installed size: 682 k

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : rsync-3.0.6-12.el6.x86_64                                    1/1

Verifying  : rsync-3.0.6-12.el6.x86_64                                    1/1

Installed:

rsync.x86_64 0:3.0.6-12.el6

Complete!

未完待续

示例

时间: 2024-10-18 00:32:41

ansible之synchronize模块数据同步的相关文章

游戏开发手记:游戏逻辑模块组织及数据同步

这周工作主要分两部分,一是服务器这边的基础模块搭建,二是服务器与客户端通信模式以及数据同步等方案的协定和验证.总体来说进展不错. 服务器采用actor模式来构建,目前暂时把服务器上运行着的actor叫做service,每个service维护一个请求队列.一个goroutine不断取出请求并进行处理.一组负责处理消息的逻辑模块.游戏服务器里的每个玩家都是一个service,不隶属玩家的功能模块也作为service运行(如排行榜.聊天.公会),还有其他全局模块也作为独立的service运行(如玩家i

Linux的rsync远程数据同步工具

Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件. rsync的好处是只同步两个文件不同的部分,相同的部分不在传递.类似于增量备份, 这使的在服务器传递备份文件或者同步文件,比起scp工具要省好多时间. OS:ubuntu server 10.04 server:192.168.64.128 client:192.168.64.145 server 1.ubuntu  server 10.04默认已安装r

rsync数据同步工具指南

一.     rsync简介 remote synchronize,rsync是一款开源的.快速的.多功能的.可实现全量或增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平.官方网站:http://www.samba.org/ftp/rsync/rsync.html 一个rsync相当于scp,cp,rm,而且还优于他们每一个命令 二.     特性 支持拷贝特殊文件如链接文件,设备等. 可以有排除指定文件或目录同步的功能,相当于打包

服务 - Sersync数据同步详细教程

Sersync数据同步 一.rsync介绍 rsync是类unix系统下的数据镜像备份工具--remote sync.一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH.rsync主机同步. 它的特性如下: v 可以镜像保存整个目录树和文件系统. v 可以很容易做到保持原来文件的权限.时间.软硬链接等等. v 无须特殊权限即可安装. v 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压

搭建中小规模集群之rsync数据同步备份

NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快速的.多功能的.可实现全量即增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix.linux.windows等多种操作系统平台. Rsync简介 Rsync英文全称Remote synchronization.从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快

Delphi中多线程用消息实现VCL数据同步显示

Delphi中多线程用消息实现VCL数据同步显示 Lanno Ckeeke 2006-5-12 概述: delphi中严格区分主线程和子主线程,主线程负责GUI的更新,子线程负责数据运算,当数据运行完毕后,子线程可以向主线程式发送消息,以便通知其将VCL中的数据更新. 实现: 关键在于消息的发送及接收.在消息结构Tmessage中wParam和lParam类型为Longint,而指针类型也定义为Longint,可以通过此指针来传递自己所感兴趣的数据.如传递字符数组: 数组定义: const MA

solr 简单搭建 数据库数据同步(待续)

原来在别的公司负责过文档检索模块的维护(意思就是不是俺开发的啦).所以就稍微接触和研究了下文档检索. 文档检索其实是全文检索,是通过一种技术把N多文档进行一定规律的切割归类,然后创建易于搜索的索引式文件,然后搜索具有某些规律的文档时,能够通过快速定位索引,然后根据索引提供的信息精确定位到文档从而实现迅速找到文档.这个文档一般成为条目. 上家公司的时候使用的是Lucene加上Zoie实现的.lucene是apache下的开源项目,不过并不是全文检索的实现,而是一个全文检索的引擎,是一个架构,是其他

centos6 rsync+inotify 数据同步

一 前戏#检测rsync是否已安装rpm -qa rsync#如未按装,执行yum安装yum install -y rsync#新建用户和目录并授权useradd -M -s /sbin/nologin  rsyncmkdir /bakcupchown -R rsync.rsync /bakcup/ 二 服务端配置#打开配置文件,填入以下内容vi /etc/rsyncd.conf===================================#rsyncd.conf____________

利用rsync+inotify实现数据同步

利用rsync+inotify实现数据同步 一.rsync概念: rsync是Linux系统下文件同步可数据传输的工具,采用rsync算法使客户机与服务器,主服务器与 备份服务器数据同步.rsync也能实现中断后恢复传输.rsync支持增量备份. 二.rsync的模式: 1.本地模式. 2.远程shell模式 3.查询模式 4.C/S模式 安装rsync: tar xvf rsync-3.0.9.tar.gz cd rsync-3.0.9 ./configure make && make