首页 > 代码库 > cwRsync实现windows下文件定时同步(sql server 2008R2 备份文件定时同步)

cwRsync实现windows下文件定时同步(sql server 2008R2 备份文件定时同步)

cwRsync分为客户端和服务端,服务端为文件被同不端,会起一个端口默认为873;客户端为要把文件主动同步到本机的一端,不会启动端口,当进行文件同步的时候,会主动连接服务端的873端口。拓扑图大概如下:

技术分享

安装程序展示:

技术分享,安装程序已经通过csdn资源方式上传了,下面是连接。

cwRsyncServer_4.0.5_Installer.zip

cwRsync_Client_4.0.5_Installer.zip

安装:

安装服务器端:

    下早Server端,上传到服务器上,解压后安装步骤如下:

技术分享

技术分享

技术分享

这里的用户名和密码可以手动自己设置,也可以默认的。据说这个账户和密码比较重要,但是在我后面的应用,并没有用到。网络上,如果更改了账户密码,要在服务中把账户和密码改了,不然启动不起来的。

技术分享

安装过程

技术分享

安装完成,点击close

技术分享

安装完成后,在安装目录下有一个rsync.conf的文件,cp一份这个文件作为备份,然后修改配置文件。

文件内容如下:

这里要说一点,在path路径的设置上,如果想表示c:\a\b\c目录,那么写的方式是/cygwin/c/a/b/c

为了安全我这里同步设置的帐号和密码,auth users = xinsir,表示同步使用xinsir帐号进行同步;

sercets file = xxxxxx/rsync.passwd这个指定的用户密码文件路径,密码文件内容:“帐号:密码

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid 
port = 8173
uid = 0
gid = 0
max connections = 10


# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#

[config]
path = /cygdrive/d/autoBackup
read only = false
transfer logging = yes
lock file = rsyncd.lock
auth users = xinsir
secrets file = /cygdrive/e/pass/rsync.passwd

修改完配置文件后,需要重启sync的服务,去到计算机--管理--服务里面进行重启服务即可。

安装客户端:

    客户端安装首先下载安装程序后,所有的安装步骤默认即可,安装完成后会在目录下生成如下文件:

技术分享

进行同步测试:

编写同步批处理文件,文件内容如下:

            服务器端没有设置密码的这样写:

@echo off #没有密码
set RSYNC_HOME=c:\Program Files\cwRsync\bin
cd %RSYNC_HOME%
rsync -av rsync://192.168.2.242/test /cygdrive/e/test

            服务器端有设置密码的这样写:

@echo off  #需要密码
set RSYNC_HOME=c:\Program Files\cwRsync\bin
cd %RSYNC_HOME%
rsync -avzP --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd xinsir@192.168.2.242::test /cygdrive/e/test

意思是将192.168.2.242的服务端下的test模块下的e:\bak目录同步到客户端的e:\test下

参数介绍:

-avzP

-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;

-z 传输时压缩;

-P 传输进度

-v verbose,详细模式输出

-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步

--progress

显示备份过程

--delete

删除那些DST中SRC没有的文件

--password-file

指定密码文件,只需包含密码而不用包含用户名

SvcCWRSYNC@192.168.2.242::test

SvcCWRSYNC 登陆服务器端的用户名  

192.168.2.242 服务器端的ip地址

test 服务器端指定的认证模块名,多个同步作业靠此模块名区分  

/cygdrive/e/test

存放服务器端同步文件的本地目录

注意:
    生成密码文件比较重要,如果使用xinsir帐号进行同步,那么在客户端的机器上创建一个xinsir的账户,用xinsir登录主机后,创建一个sync.passwd的文件,文件里面只写密码其余的什么都不写,右键这个文件选择属性中的安全选项卡中的高级中的所有者,严重所有者是否为xinsir,如果不是请更改,如果则完成。如下图:

技术分享

技术分享

技术分享

技术分享

技术分享

双击写好的批处理,验证文件能成功同步!

本文出自 “学习改变命运” 博客,请务必保留此出处http://xinsir.blog.51cto.com/5038915/1939962

cwRsync实现windows下文件定时同步(sql server 2008R2 备份文件定时同步)