使用cwRsync实现windows下文件定时同步(备份)

    首先要下载cwRsync的服务端和客户端软件,下载地址如下:

    服务端:cwRsync_Server_2.0.10_Installer

    客户端:cwRsync_2.0.10_Installer

    然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端。为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt的站点文件,同时准备将该站点文件夹下的aspx和config文件夹作为要进行同步文件的文件夹。然后在其服务端的rsyncd.config文件下,输入如下内容:

复制代码
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
port = 52326
max connections = 4

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[t_aspx]
path = /cygdrive/f/dnt_snap/aspx
read only = false
transfer logging = yes
lock file = rsyncd.lock

[t_config]
path = /cygdrive/f/dnt_snap/config
read only = false
transfer logging = yes
lock file = rsyncd.lock
复制代码


    注:在上面的内容中,将监听端口设置为52326。

    这样,我们在控件面板-->管理工具-->服务,找到该服务并启动它,如下图:

cwrsync


    这时我们就可以在客户端(10.0.2.137)的f盘上创建一个叫sync的文件夹,同时在下面创建两个分别叫"config”和“aspx”的文件夹来对应同步服务端的文件夹。

    然后接着用下面的内容创建一个名为 dnt_rsync.bat的批处理文件:

rsync -av rsync://10.0.2.136:52326/t_config /cygdrive/f/sync/config
rsync -av rsync://10.0.2.136:52326/t_aspx /cygdrive/f/sync/aspx


    并将其放到cwRsync客户端安装目录下的bin目录中(我的安装目录如下:C:\Program Files\cwRsync\bin),然后双击启动它。

    这样,就开始同步文件了:

cwrsync2


     之后,我们可以到客户端f盘的相应目前中查看同步过来的文件,呵呵。

     当然cwRsync是采用增量和修改同步方式,如果你将服务器端的相应文件做了修改,则同步时只会同步修改过的文件或新增的文件。    

     下面介绍一下如何通过windows中的“任务计划”来创建定时任务,执行定时同步。

     首先在客户端的机器上的: 控件面板->任务计划->点击“添加任务计划”, 在相应的弹出窗口中点击下一步,然后点击导航窗口中的“浏览”按钮,如下,并从中选择之前创建的批处理文件”dnt_sync.bat”:

cwrsync3

     这时系统会显示如下窗口提示当前计划任务执行方式,我这里选择每天执行(一次):

cwrsync4

     到这里,系统就会创建一个叫dnt_sync的任务计划,同时在接下来的窗口中提示任务的开始执行时间:

cwrsync5


     这里不做任何修改,直接点击下一步,接着是身份验证(通常是管理员身份),必定任务计划非同儿戏,要有足够的权限才可以玩的转:)

cwrsync6

     最后点击完成,就创建了一个任务计划。只不过它是按天执行的,如果我们希望其每分钟执行一次又该怎么办呢,其实很简单,只要在用鼠标点击新创建的任务计划,并在弹出菜单中选择“属性”,这时在弹出窗口的“日程安排”中点击“高级按钮”,如下:

cwrsync7


     这时就会弹出一个叫“高级计划选项”的子窗口,在其它做如下设置:

cwrsync8

     到这里,这个计划任务就会每天24小时,以每分钟运行一次的方式来同步之前的那两个文件夹了。

     最近使用软件的时间超过了开发软件的时间,导致开发的代码量不像之前那么多了,呵呵。不过这类软件还是很有应用场景的,估计将来会用的上,故写作本文与大家分享的同时以“备份”处之。


     原文链接: http://www.cnblogs.com/daizhj/archive/2009/11/03/1595395.html

     作者: daizhj, 代震军

     Tags: cwRsync,文件同步,任务计划

     网址: http://daizhj.cnblogs.com/



分类: 其它
标签: 文件同步, cwRsync, 任务计划
绿色通道: 好文要顶关注我收藏该文与我联系 icon_weibo_24.png
u13406.jpg
代震军
关注 - 4
粉丝 - 901
荣誉:推荐博客
+加关注
4
0
(请您对文章做出评价)
« 上一篇:玩玩负载均衡---在window与linux下配置nginx
» 下一篇:IT餐馆—第二十二回 控件
posted on 2009-11-03 17:43代震军 阅读(16037) 评论(12) 编辑收藏

FeedBack:
#1楼
2009-11-03 19:23 | 大力
如果二个不同的机房楼主是否试过。

比如北京同步到厦门?
支持(0)反对(0)
http://pic.cnitblog.com/face/u3333.gif
#2楼
2009-11-03 21:49 | Jerry Qian
这几篇很有用。
支持(0)反对(0)
#3楼
2009-11-04 08:17 | xland
自己写一个如何?
支持(0)反对(0)
http://pic.cnitblog.com/face/u28932.png?id=12164046
#4楼
2009-11-04 09:02 | canbeing
还是用DropBox之类的东西比较方便,不要建计划任务
支持(0)反对(0)
http://pic.cnitblog.com/face/u25286.jpg
#5楼[楼主]
2009-11-04 09:04 | 代震军
@大力
目前主要是在同网段下的进行测试,必定同步这类功能要效率和安全性兼顾。
支持(0)反对(0)
http://pic.cnitblog.com/face/u13406.jpg
#6楼[楼主]
2009-11-04 09:05 | 代震军
@xland
目前可以使用microsoft sync framework来写,当然也可以使用livemesh来做文件同步,但那主要是针对个人应用而言。
支持(0)反对(0)
http://pic.cnitblog.com/face/u13406.jpg
#7楼
2009-11-04 15:50 | TsingFung Lee
简单的文件同步就用FlashFXP做了
支持(0)反对(0)
#8楼
2011-07-18 15:41 | ITply
如果这两台机器不在一个网段,比如一个在中国一个在美国,怎么处理啊?
支持(0)反对(0)
http://pic.cnitblog.com/face/u156075.jpg
#9楼
2011-09-01 18:30 | yesyes
那如果是内网 跟 外网 用这个软件可行吗?
现在我正打算做内网多台服务器 与外网一台服务器的文件同步
据说这个可以搞定
支持(0)反对(0)
#10楼
2011-12-23 16:09 | mdcsoft
跨机房同步也是可以的,但是你不要文件太过于太大。
我做过尝试,2G的文件从美国的VPS同步到上海的双线服务器上,比较慢,但是同步成功了,
支持(0)反对(0)
#11楼
2012-04-16 09:55 | 堆码小万
请问,如何解决备份中权限问题,我现在都需要在文件上加上User权限才会备份,什么原因呢?万分感谢
支持(0)反对(0)
#12楼25644372012/11/28 0:54:06
2012-11-28 00:54 | ︶孤独の王者
对方提供ip 用户名,密码 路径
我如何同步嗯?