更新线上应用的时候,如果手动部署容易出错和遗漏,这里使用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**(远程同步工具)是一种高效的数据同步工具,广泛应用于局域网(LAN)和广域网(WAN)环境中,用以快速同步多台主机之间的文件或本地硬盘内的不同目录。rsync...
在 Linux 下使用 rsync 同步目录时,我们可以使用两种基本模式:从主机拉取数据到备机,或从备机推数据到主机。这两种模式的关键在于 rsync 命令的参数设置。 1. 从主机拉数据到备机: 使用 `-avzP --delete` 参数...
使用 Rsync + inotify 实现实时远程同步 Rsync 是一个功能强大且广泛使用的文件同步工具,它可以快速、安全、可靠地同步文件。在服务器之间同步文件时,Rsync 是一个不二之选。Inotify 是一个 Linux 内核提供的文件...
本文将深入探讨Rsync的工作原理、主要特点以及如何使用它来构建一个可靠的文件备份同步系统。 ### 1. Rsync概述 Rsync是一款开源的文件传输协议,其核心功能是能够在本地或网络环境中快速地同步文件和目录。Rsync...
"rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...
3. **启动服务**:使用命令`/usr/local/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf`启动服务。若需自动启动,可在`/etc/rc.d/rc.local`中添加相应启动脚本。 4. **防火墙规则**:编辑`/etc/sysconfig/...
在远程同步任务中,负责发起 rsync 同步操作的主机称为发起端,而负责响应 rsync同步操作的主机称为 rsync 服务器(也称为同步源)。 在 push 方案中,rsync 服务器负责提供文档的目标位置,发起端应对该位置具有...
问题:rsync同步时,出现“ permission denied”错误。 解决方案:检查文件和目录的权限,确保rsync用户有足够的权限。 2. 解决方案二 问题:rsync同步时,出现“connection refused”错误。 解决方案:检查ssh...
在 Linux 平台下,可以使用 rsync 命令来实现文件同步。安装 rsync 需要使用 yum 命令或 apt-get 命令来安装相应的软件包。服务端安装方法包括安装 rsync 服务和配置 OpenSSH 服务器。客户端安装方法包括安装 rsync ...
例如,以下是一个简单的示例脚本,当监控目录有变化时,使用rsync同步到远程服务器: ```bash #!/bin/bash while true; do inotifywait -m /path/to/watch -e modify,create,delete | while read path action ...
# 使用rsync同步文件或目录 rsync -avz --delete --exclude='*.tmp' $FILE ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR} fi done ``` 在这个脚本中,`inotifywait`持续监听`WATCH_DIR`目录下的所有文件和子目录...
在互联网中,Windows环境中使用Rsync远程同步数据;使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他rsync主机同步。
**cwRsync——Windows平台上的rsync同步利器** 在IT领域,数据同步是日常工作中不可或缺的一部分,尤其是在分布式系统、备份策略以及多环境部署中。Linux系统中的`rsync`工具因其高效、灵活的特性而备受青睐,但在...
Windows 平台下使用 rsync 实现文件同步 Windows 平台下使用 rsync 实现文件同步是通过在服务器端和客户端安装 cwRsync 软件来实现的。cwRsync 是一个基于 rsync 的同步工具,能够实现文件的双向同步。 在服务器端...
FreeBSD上的Rsync同步学习与配置是一个重要的话题,特别是对于那些需要高效、可靠地备份和同步数据的系统管理员而言。Rsync是一款强大的文件同步工具,最初设计用来替代rcp,由rsync.samba.org维护。它以其独特的...
rsync是一种文件同步工具,可以实现触发式的文件同步,但使用crontab守护进程方式进行触发同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决...
### Windows上设置rsync同步详解 #### 一、前言 `rsync`是一款非常强大的文件同步工具,它能够在本地或是远程计算机之间高效地同步文件和目录。在Windows环境中使用`rsync`进行文件同步,可以提高数据备份及迁移的...
`rsync` 也支持多种同步模式,如本地文件同步、远程文件同步,以及通过网络的同步。 结合`inotify-tools` 和 `rsync`,我们可以在文件系统发生改变时立即触发`rsync`进行同步,实现近乎实时的数据同步。以下是在...