目前rsync的windows版本挺乱的,而且各种包装封装的乱七八糟,网上各路文章又不求甚解,索性还是自己搞清楚了,做了个明晰简略的包包。

首先分辨一下,其实所谓的rsync(客户端)与rsyncd(服务器端)都是同一个程序文件,无非是用参数和配置文件来决定怎么运行,故此先鄙视一下那个cwRsyncServer的收费版本先。

然后关于版本问题,其实这货不论Linux还是Unix的版本都很多年没更新了,帮助信息里只要看到:

rsync  version 3.1.2  protocol version 31

就是最新版本了,这两个数字能对上就可以。

 

然后呢,这玩意的Windows版本是基于cygwin环境的,这个实际上就相当于在操作系统和应用程序之间增加了一个api的封装层,用来让Linux的程序可以无缝移植到Windows系统上,但是因为两个系统的底层差异较大,所以有些功能属于纯模拟状态,有些功能属于降级状态,比如大多数Linux/Unix的程序移植到windows上以后呢,都只能用鸡肋版的select,而用不上IOCP,所以网络性能绝逼不会高,类似的降级挺多的,不过功能都是能实现的,所以很多小工具直接拿过来其实挺爽的。

 

还有要说明的是,网上能下载到的那个最新版的cwRsyncServer 4.1的那个版本,里面带的rsync版本很老了,这也是我写本文的原因之一。

 

将后面提供的压缩包解压至 C:\Service\Rsync ,然后配置文件在 C:\Service\Rsync\rsyncd.conf ,用户密码文件在 C:\Service\Rsync\user.txt ,里面全都写的有例子,自己看吧。

安装成系统服务的命令(注意下面所有内容是同一行):

C:\Service\Rsync\bin\cygrunsrv --install RsyncServer --path C:\Service\Rsync\bin\rsync.exe --args "--config rsyncd.conf --daemon --no-detach" --chdir C:\Service\Rsync --stderr C:\Service\Rsync\rsyncd-stderr.log --stdout C:\Service\Rsync\rsyncd-stdin.log

卸载服务的命令:

C:\Service\Rsync\bin\cygrunsrv --remove RsyncServer

 

点击下载

 

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注