`
willvvv
  • 浏览: 333348 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用rsync同步

阅读更多

更新线上应用的时候,如果手动部署容易出错和遗漏,这里使用Linux自带的rsync功能,当应用在测试机测试ok,自动同步到正式机。这里我们把测试机称为Master,正式机称为Slave,应用从测试机同步到正式机,从Master同步到Slave。以下操作均在root账号下进行。

 

Master端配置:

1.vi /etc/rsyncd.conf

2.输入以下内容:

port = 873
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
hosts allow = YOURS
max connections =10
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
timeout = 300

[testlink]
path = /tmp/rsyntest
list = yes
auth users = root
uid = root
gid = root
exclude = *.xml *.properties *.log
secrets file = /etc/rsyncd.pass
read only = no

3.如果要排除某些文件可以在module节点下增加exclude = *.xml *.properties *.log 以空格分隔

4.mkdir -p /tmp/rsyntest

5.echo "this is test" > /tmp/rsyntest/test.test

6.echo "root:123456" > /etc/rsyncd.pass,这里root可以是其他Master的用户,但是必须是系统用户。

7.chmod 600 /etc/rsyncd.pass

8.启动rsync命令: rsync --daemon --config=/etc/rsyncd.conf;

   停止rsync命令:cat /var/run/rsyncd.pid | xargs kill -9 && rm -rf /var/run/rsyncd.pid。

   使用启动命令,启动Master的rsync服务。

9.记得在Master上对Slave机器开启iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -s SlaveIPS -j ACCEPT

 

Slave端配置测试

1.echo "123456" > /etc/rsyncd.pass

2.chmod 600 /etc/rsyncd.pass

3.cd /tmp/rsyntest

4.注意Slave端的/etc/rsyncd.pass只有密码,没有用户名root!!! 否则 指定pass文件运行时,rsync -vrtup --delete --password-file=/etc/rsyncd.pass root@masterIP::testlink /tmp/rsyntest,会报以下错误:

@ERROR: auth failed on module testlink
rsync error: error starting client-server protocol (code 5) at main.c(1527) [receiver=3.0.6]

 在Master端的日志文件/var/log/rsyncd.log,有以下报错内容:

2012/04/09 15:07:48 [28566] name lookup failed for slaveIP: Name or service not known
2012/04/09 15:07:48 [28566] connect from UNKNOWN (slaveIP)
2012/04/09 15:07:48 [28566] auth failed on module testlink from unknown (slaveIP): password mismatch

 

5.如果Slave端的/etc/rsyncd.pass和Master端一样,则只能按照以下不指定pass文件的方式运行:

rsync -vrtup --delete  root@masterIP::testlink /tmp/rsyntest  提示输入密码,输入/etc/rsyncd.pass中配置的密码123456,会有以下输出:

receiving incremental file list
./
test.test

sent 80 bytes  received 183 bytes  75.14 bytes/sec
total size is 30  speedup is 0.11

 

 

6.同步完毕在Master和Slave的对应目录分别执行  ls -alR|grep "^[-d]"|wc,看看文件夹和文件数是否一致。

 

rsyncd.conf的配置说明和rsync命令详解:

http://hi.baidu.com/xc_hai/blog/item/0ee61e8e321017f2503d9288.html

分享到:
评论

相关推荐

    使用 rsync 同步

    ### 使用rsync同步详解 #### 一、rsync概述 **rsync**(远程同步工具)是一种高效的数据同步工具,广泛应用于局域网(LAN)和广域网(WAN)环境中,用以快速同步多台主机之间的文件或本地硬盘内的不同目录。rsync...

    linux下使用rsync同步目录

    在 Linux 下使用 rsync 同步目录时,我们可以使用两种基本模式:从主机拉取数据到备机,或从备机推数据到主机。这两种模式的关键在于 rsync 命令的参数设置。 1. 从主机拉数据到备机: 使用 `-avzP --delete` 参数...

    rsync+inotify 实时远程同步

    使用 Rsync + inotify 实现实时远程同步 Rsync 是一个功能强大且广泛使用的文件同步工具,它可以快速、安全、可靠地同步文件。在服务器之间同步文件时,Rsync 是一个不二之选。Inotify 是一个 Linux 内核提供的文件...

    Rsync实现文件备份同步

    本文将深入探讨Rsync的工作原理、主要特点以及如何使用它来构建一个可靠的文件备份同步系统。 ### 1. Rsync概述 Rsync是一款开源的文件传输协议,其核心功能是能够在本地或网络环境中快速地同步文件和目录。Rsync...

    rsync同步的艺术

    "rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...

    linux 下rsync文件夹同步配置

    3. **启动服务**:使用命令`/usr/local/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf`启动服务。若需自动启动,可在`/etc/rc.d/rc.local`中添加相应启动脚本。 4. **防火墙规则**:编辑`/etc/sysconfig/...

    14:rsync_sersync实现数据实时同步.docx

    在远程同步任务中,负责发起 rsync 同步操作的主机称为发起端,而负责响应 rsync同步操作的主机称为 rsync 服务器(也称为同步源)。 在 push 方案中,rsync 服务器负责提供文档的目标位置,发起端应对该位置具有...

    Rsync+ssh双机同步测试及问题解决

    问题:rsync同步时,出现“ permission denied”错误。 解决方案:检查文件和目录的权限,确保rsync用户有足够的权限。 2. 解决方案二 问题:rsync同步时,出现“connection refused”错误。 解决方案:检查ssh...

    图解rsync数据同步部署文档.docx

    在 Linux 平台下,可以使用 rsync 命令来实现文件同步。安装 rsync 需要使用 yum 命令或 apt-get 命令来安装相应的软件包。服务端安装方法包括安装 rsync 服务和配置 OpenSSH 服务器。客户端安装方法包括安装 rsync ...

    rsync + inotify 实现异地文件数据同步

    例如,以下是一个简单的示例脚本,当监控目录有变化时,使用rsync同步到远程服务器: ```bash #!/bin/bash while true; do inotifywait -m /path/to/watch -e modify,create,delete | while read path action ...

    inotify和rsync实现文件同步.zip

    # 使用rsync同步文件或目录 rsync -avz --delete --exclude='*.tmp' $FILE ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR} fi done ``` 在这个脚本中,`inotifywait`持续监听`WATCH_DIR`目录下的所有文件和子目录...

    Windows中配置Rsync同步文件的方法 v 1.0

    在互联网中,Windows环境中使用Rsync远程同步数据;使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他rsync主机同步。

    cwRsync - 在Windows上使用rsync的同步工具

    **cwRsync——Windows平台上的rsync同步利器** 在IT领域,数据同步是日常工作中不可或缺的一部分,尤其是在分布式系统、备份策略以及多环境部署中。Linux系统中的`rsync`工具因其高效、灵活的特性而备受青睐,但在...

    Windows平台下使用rsync实现文件同步.docx

    Windows 平台下使用 rsync 实现文件同步 Windows 平台下使用 rsync 实现文件同步是通过在服务器端和客户端安装 cwRsync 软件来实现的。cwRsync 是一个基于 rsync 的同步工具,能够实现文件的双向同步。 在服务器端...

    FreeBSD Rsync同步学习与配置全过程

    FreeBSD上的Rsync同步学习与配置是一个重要的话题,特别是对于那些需要高效、可靠地备份和同步数据的系统管理员而言。Rsync是一款强大的文件同步工具,最初设计用来替代rcp,由rsync.samba.org维护。它以其独特的...

    rsync+inotify实现服务器之间文件实时同步

    rsync是一种文件同步工具,可以实现触发式的文件同步,但使用crontab守护进程方式进行触发同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决...

    Windows上设置rsync同步

    ### Windows上设置rsync同步详解 #### 一、前言 `rsync`是一款非常强大的文件同步工具,它能够在本地或是远程计算机之间高效地同步文件和目录。在Windows环境中使用`rsync`进行文件同步,可以提高数据备份及迁移的...

    inotify-tools+rsync同步使用方法介绍

    `rsync` 也支持多种同步模式,如本地文件同步、远程文件同步,以及通过网络的同步。 结合`inotify-tools` 和 `rsync`,我们可以在文件系统发生改变时立即触发`rsync`进行同步,实现近乎实时的数据同步。以下是在...

Global site tag (gtag.js) - Google Analytics