最近需要做个文件的备份,找到了cwsync。但是现在要收费,但是因为囊中羞涩,所以网上找了个:下载地址。

cwRsync是Windows平台的文件同步解决方案,cwRsync打包了rsync和cygwin,rsync是Linux平台的文件同步软件,cygwin是一个在Windows平台上运行的Linux模拟环境。

一、安装服务端cwRsyncServer

1.我们点击cwRsyncServer的安装程序,一直next就行,中间会出现创建用户的窗口,输入用户名与密码后,安装软件会自动创建一个Windows帐户。该帐户用于运行RsyncServer的Windows服务(要注意该帐户对要同步的文件夹是否具有权限),当然你也可以用系统帐户来运行服务。安装完成后,在管理工具》服务中会出现RsyncServer服务。如下就是刚刚创建的用户:

rsync远程单个文件 rsync windows_客户端

 

 

 2.然后我们进入安装路径修改配置文件:rsyncd.conf。

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

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

配置文件参数说明:

a) uid = 0,gid = 0是针对匿名访问的情况进行设置的,这样客户端同步时就不需要进行用户验证。如果不进行这样的设置,客户端同步时会出现“invalid uid nobody”或“invalid gid nobody”的错误提示。如果需要用户验证,就要进行另外的设置。

b) [test]相当于虚拟目录,客户端同步时,就是通过这个名字访问服务器上要同步的文件夹。

c) path = /cygdrive/d/test,同步文件夹的实际路径,d/test=d:\test。

d)更多的参数配置见官方文档

3 进入管理工具》服务,启动RsynServer服务。

注:

a) cwRsyncServer默认端口是873,如果要指定端口,在rsyncd.conf中添加:port = 端口号。

b) 修改了rsyncd.conf,重启RsynServer服务之后才会生效。

 二、安装客户端cwRsync

安装之后执行打开cmd执行同步语句:

C:\Users\Xu>D:\cwRsync\bin\rsync.exe -avzP --delete --port=873 SvcCWRSYNC@127.0.0.1::test /cygdrive/d/test1

前文系统变量输入之后,该命令就可以直接运行,如果未成功,可以CD跳转到BIN目录,再运行命令。

第一个参数端口号不用解释

第二个是传输的设置,有以下使用方法

-avzP  

-a 参数,相当于-rlptgoD:

-r 是递归

-l 是链接文件,意思是拷贝链接文件

-p 表示保持文件原有权限

-t 保持文件原有时间

-g 保持文件原有用户组

-o 保持文件原有属主

-D 相当于块设备文件

-v 详细模式输出

-z 传输时压缩

-P 显示传输进度

第三个参数progress 显示备份同步过程

第四个参数delete 删除Client中有Server没有的文件。注:如果不设置delete,服务器端删除文件,客户端同步时不会在客户端删除文件,只同步增加和更新的文件。

第五个参数“账户@ip::模块名”表示Rsync服务器,如果服务端没有配置用户名并允许匿名,则可以不加账户。注意权限。

第六个参数 /cygdrive/d/test1 表示同步到本地的D:\test1

执行完后可以看到文件已经同步,可是写一个bat文件加入window的定时任务执行。