试用了一下 cwRsync 成功

试用了一下 cwRsync 成功

因为需要在两台机器上同步一些数据,在网上找了一下,发现 cwRsync 是可以的。尝试了一下

1、安装
安装的过程很简单,也很顺利,从 cwRsync 网站上下载的 server and client ,都安装了一下,不过后来发现,其实是不需要安装 client 的,只要 server 就可以了,server 包括了 client 的功能。安装完 server 后,会在 service 中增加 Rsync 和 ssh 服务。

2、配置
配置了一下 rsyncd.conf

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes

只是将 [test] 中的 path 改成了我本机的备份目录

[test]
path = /cygdrive/d/backup
read only = false
transfer logging = yes

3、数据同步
因为只是最简单的数据同步,所以就不使用 ssh 了,直接启动 rsync 服务就可以了。然后按照 usage 上面教的。

rsync -av /cygdrive/d/test localhost::test

完成了数据的同步工作,一切顺利。顺便说一下,/cygdrive/d 是安装完 cwRsync ,会自动将系统上所有的盘 mount 成 /cygdrive/x ,x 表示盘符,小写的,并把安装目录 mount 成 / 了。

4、绿色安装
我将 cwRsync copy 到另一台机器上,试图不安装就启动 cwRsync server,启动过程比较正常,只要运行 rsync --config=$config_file --daemon --no-detach 就可以了,这里面的 $config_file 指的是前面配置的 rsyncd.conf ,路径要写成 /cygdrive/d 这样的形式。

5、安装成服务
程序包中带了 cygwin 的 cygrunsrv ,可以通过这个命令将 rsync server 做成 windows 服务,但我试了一下,路径中有空格没有成功,命令是这样的

cygrunsrv.exe -I "Rsync" -p /cygdrive/d/cwRsyncServer/bin/rsync.exe -a "--config=/cygdrive/d/cwRsyncServer/rsyncd.conf --daemon --no-detach" -f "Rsync"

也很顺利的安装成服务了。

6、问题二
惨的是当我在第二台机器上同步数据的时候,权限却成了问题,同步过去的文件(目录)所有者是 SYSTEM,不是我,而且我没有访问的权限,只有在安全中把自己加进来(我用管理员帐户),给自己权限,才能访问。

或者在 cygwin 下使用 chmod 给自己授权,和在 windows 中给自己授权没什么区别。

最后:

问题2已经解决
方法:只要把 cwRsyncServer 这个目录 mount 到 / ,就可以了,估计是 rsync 同步数据的时候,会调用 /bin/chmod 来授权,如果是安装版的,这个目录会在安装的时候 mount 好。 (好象不是这个问题了)

你可能感兴趣的:(试用了一下 cwRsync 成功)