【转】Cwrsync使用篇—如何实现Linux与windows下的文件同步

wgy 发布于 2012/08/28 12:06
阅读 1K+
收藏 0
我们先回顾一下我们在 安装配置篇中rsyncd.conf(服务器端的配置文件),我们在使用的时候会用到它:

use chroot = false #不使用chroot  

strict modes = false #静态模式  

hosts allow = * #所有IP均可  

log file = rsyncd.log #log文件名,可以指定路径  

pid file = rsyncd.pid  

port = 8173 #默认端口873  

uid = 0 #不指定uid,不加这一行将无法使用任何账户  

gid = 0 #不指定gid  

max connections = 10 #最大连接数10  

# Module definitions  

# Remember cygwin naming conventions : c:work becomes /cygwin/c/work  

[huweishen]  

path = /cygdrive/d/www/huweishen #需要备份的路径(D盘www/huweishen目录)  

read only = false #只读  

transfer logging = yes #记录传输日志  

ignore errors #忽略无关的IO错误  

list = no #不列文件表  

hosts allow = 192.168.2.0/255.255.255.0 #允许访问的IP  

hosts deny = * #不允许hosts allow以外的任何IP访问  

auth users = SvcCWRSYNC #认证用户名

secrets file = rsync.password #认证用户的用户名和密码存储位置

一、准备工作:

1、启动服务器端的RsyncServer服务。

2、在客户端新建一个环境变量,目录为cwrsync的bin目录下,例:path:c:\Program Files\cwRsync\bin。

3、在客户端telnet一下服务器端的port端口是否开放,我们上文的配置文件中提到的8173端口,服务器IP地址为192.168.2.120,例:telnet 192.168.2.120 8173,如果出现了下文的界面,就说明与Rsync服务端通信成功。

Cwrsync实现Linux与windows下的文件同步

                                                       图一:服务器端的通信成功

二、创建脚本文件:

准备工作都完成的话,我们就开始建立脚本文件,指定客户端的同步文件位置,由上文的服务器的配置文件我们得知,服务端的模块为“huweishen”,同步目录为/cygdrive/e/www/huweishen,下面我们开始创建脚本文件:

1、服务器系统为windows:

    rsync -av rsync://192.168.2.120:8173/huweishen /cygdrive/e/sync/config 

    #表明我们将服务器端的/d/www/huweishen的文件同步到客户端/e/sync/config目录下。

2、服务器系统为Linux:

   @echo off  #需要密码

   set RSYNC_HOME=c:\Program Files\cwRsync\bin

   cd %RSYNC_HOME%

   d:

   rsync -avzP --progress --delete --password-file=/cygdrive/c/pass/rsync.passwd SvcCWRSYNC@192.168.2.120::huweishen  /cygdrive/e/sync/config

   #这段命令同样也是将服务器端的/d/www/huweishen的文件同步到客户端/e/sync/config目录下。

建立好脚本文件后,将保存成.bat文件,存放在cwRsync\bin目录下。然后运行,运行效果如下:

Cwrsync实现Linux与windows下的文件同步

                                                    图二:windows下批处理文件运行成功

三、创建任务计划:

  由于服务器端的同步目录下的文件内容可能会更改,发生改变,我们一般就制定任务计划,设定每天什么时间自动同步一次文件,这样就方便多了,如果你将服务器端的相应文件做了修改,则同步时只会同步修改过的文件或新增的文件。操作步骤如下:

1、首先添加一个任务计划:依次点击【开始菜单】-【所有程序】-【附件】-【系统工具】-【任务计划】,在弹出的新窗口中双击“添加任务计划”。

Cwrsync实现Linux与windows下的文件同步

                                                        图三:创建任务计划

2、点击浏览按钮找到刚刚建立的批处理文件。

Cwrsync实现Linux与windows下的文件同步

                                               图四:添加我们刚刚建立的批处理文件(1)

Cwrsync实现Linux与windows下的文件同步

                                                     图五:添加我们刚刚建立的批处理文件(2)

3、设置同步的周期与时间。一直下一步,直到完成就可以了。

Cwrsync实现Linux与windows下的文件同步

                                                    图六:设置批处理周期

Cwrsync实现Linux与windows下的文件同步

                                                        图七:设置批处理时间

Cwrsync实现Linux与windows下的文件同步

                                         图八:管理员权限,此处默认,点击下一步直到完成

4、如果我们需要任务计划执行的频繁一些怎么办呢?其实我们可以右键已经设置好的任务计划,选择“属性”菜单中选择【日程安排】选项卡,再点击高级按钮,我们就可以设置了,如下图所示:

Cwrsync实现Linux与windows下的文件同步

                                                         图九:点击高级按钮进行更详细的设置

Cwrsync实现Linux与windows下的文件同步

                                                    图十:批处理时间精确设计

四、使用cwRsync常见错误分析:

1.@ERROR : invalid uid' 或@ERROR : invalid gid'

  原因:配置文件中没有设置uid及gid,或者设置的有问题

  解决:设置uid=0 gid=0

2.@ERROR : auth failed on module xxxxx

   rsync: connection unexpectedly closed (90 bytes read so far)

   rsync error: error in rsync protocol data stream (code 12) at io.c(150)

 原因:这是因为密码设错了, 无法登入成功, 请再检查一下 服务器端的password文件及客户端cwrsync.pwd文件中的密码设定, 二端是否一致

   解决:确保密码一致

3.password file must not be other-accessible

  continuing without password file Password:

  原因:客户端cwrsync.pwd文件权限是否为600

4.@ERROR : chdir failed

   原因:服务器端文件目录path设置有问题,不过本次试验中发现中文路径也会出现这个提示

   解决:检查文件目录。

细细分析你会发现其实使用cwRsync实现Linux与windows系统的同步文件操作挺简单的,不过需要细心,不然出错之后范围太大,不太好找出错误原因。

如需要软件下载:cwRsync 4.1.0客户端:http://soft.huweishen.com/soft/307.html

                cwRsync服务器端:http://soft.huweishen.com/soft/308.html.

本文转载自护卫神技术频道:http://tech.huweishen.com/gongju/1624.html

加载中
返回顶部
顶部