最近需要做个文件的备份,找到了cwsync。但是现在要收费,但是因为囊中羞涩,所以网上找了个:下载地址。
cwRsync是Windows平台的文件同步解决方案,cwRsync打包了rsync和cygwin,rsync是Linux平台的文件同步软件,cygwin是一个在Windows平台上运行的Linux模拟环境。
一、安装服务端cwRsyncServer
1.我们点击cwRsyncServer的安装程序,一直next就行,中间会出现创建用户的窗口,输入用户名与密码后,安装软件会自动创建一个Windows帐户。该帐户用于运行RsyncServer的Windows服务(要注意该帐户对要同步的文件夹是否具有权限),当然你也可以用系统帐户来运行服务。安装完成后,在管理工具》服务中会出现RsyncServer服务。如下就是刚刚创建的用户:
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的定时任务执行。