RSync服务是用于不同服务器间同步文件的传输服务,对于增量备份的场景特别有用,在使用持续集成方法的开发团队中,也可用作代码发布使用。
一、安装
很简单,到http://sourceforge.net/projects/sereds/files/cwRsync/,下载安装即可。
当前是的版本是3.0.8。
rsync服务使用的也是c/s模式,需要把服务器与客户端分别安装在两台机器上。
安装后把安装路径下面的bin目录添加到windows的path环境变量中。
二、配置
服务器的配置,需要配置安装目录下面的rsyncd.conf文件。
示例如下:
uid = 0
gid = 0
use chroot = yes
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path=/cygdrive/d/www/test
read only = false
transfer logging = yes
hosts allow=192.168.0.0/24
hosts deny=*
说明:
uid和gid,设置为0。这个是沿续了unix系统下的配置,在windows里面,cygwin偶还不知道是怎么对应的。不设置为0会出错。
出错的提示分别是“@ERROR: invalid uid”或者“invalid gid”。
path=/cygdrive/d/www/test,
这一行设置初看起来有点古怪,因为CWRsyncServer是基于cygwin的。所以也遵循了cygwin来引用windows的目录。
在使用绝对路径的时候需要这样引用,偶试了一下,也是可以使用相对路径的。
hosts allow和hosts deny分别是允许访问和禁止访问的IP地址配置,可以使用子网掩码的形式,如配置行所示,同时也可以使用192.168.0.1
这样的具体的IP地址,使用多个地址的时候,地址之间使用空格分隔即可。
这就是最基本的配置了。
三、命令
rsync -vcrzp 201107/ 192.168.0.52::test/ --password-file=rsync.sec --exclude-from=201107/rsyncExclude.txt
rsyncExclude.txt里面是禁止参与同步 的文件,如一些临时文件或者bak文件等。也
需要包括.或者创建的批处理文件本身。
示例如下:
.
*.bak
rsyncExclude.txt