关于cwRsync的作用在此不再过多描述,在整个调研过程中,网上搜索了很多的相关资料,配置过程中也出现了很多细节问题,所以在这里主要针对配置过程中需要注意的地方进行提醒,以及对关键的配置操作进行说明。
说明:
- 两台电脑,我这里用虚拟机(XP)模拟服务端,用本机(win7)模拟客户端。
- 服务端IP:192.168.137.232;本机IP:192.168.137.134。
cwRsyncServer(服务端)配置步骤:
1. 解压cwRsyncServer_4.1.0_fuq.zip,双击cwRsyncServer_4.1.0_Installer.exe。
2. 按照安装提示,逐步操作至创建账户的界面,如下图所示。ps:这里创建的账户是操作系统的,创建的这个账户是专门用来运行cwRsyncServer服务端程序的。建议这里不要使用安装程序默认提供的账户名和密码,不易记忆,应该创建一个自己常用的、容易记住的账户。当然也可以使用操作系统中已经存在的账户,但这里个人感觉还是创建一个专门的针对cwRsyncServer的账户较好,在今后的管理中方便明了。我这里新建了一个“tongbu”的账户。
3.cwRsyncServer服务程序安装成功后,关闭窗口。然后在系统服务管理界面中找到RsyncServer项,将其启动类型改为“自动”,接着启动服务。
4. 这一步的操作很重要,需要强调。服务端C:\data目录中的文件需要cwRsyncServer服务程序来维持同步,而我创建的“tongbu”账户是来运行cwRsyncServer服务程序的,所以“tongbu”账户需要对C:\data这个目录有足够的操作权限。这就需要我们来设置一下。
5. 权限设置完后,修改cwRsyncServer的配置文件(安装目录\ICW\rsyncd.conf)。下图是我应用的配置项,未用到配置项的说明可以到官网查询。
ps:上图中指定的用户名和密码,可以随意指定的,客户端匹配时也得指定成这里设置的用户名和密码。不像网上有些资料描述的那样,都设置成了安装时所创建的操作系统的账户和密码。
6. 按照配置文件中的指定,需要在rsyncd.conf文件所在的目录下创建密码文件——rsync.password。内容为“用户名:密码”,即“userdata:123456”。至此服务端的同步配置已经完成了。
cwRsync客户端的配置步骤:
1. 在客户端的机器上解压cwRsync_4.1.0_kh.zip后,点击cwRsync_4.1.0_Installer.exe。
2. 按照安装程序的提示,逐步点击,直到提示安装成功为止。这里安装过程简单不再截图。
3. 测试客户端与服务端的连接是否正常。开始->运行->cmd,在命令行中输入如下内容:
telnet 192.168.137.232 873
其中873是cwRsyncServer默认的端口号,我们也可以在服务端的配置文件进行其他端口的指定使用。
4. 若客户端与服务端连接成功,会如下图所示。
如果连接不成功,请查看服务端的防火墙,确保防火墙不阻止873端口的访问。
5. 在客户端创建执行脚本文件,其中写入连接服务端进行同步的命令。在安装目录\cwRsync\bin目录下新建fileRsync.cmd文件,内容如下。当然创建成批量文件(.bat)也是可以的。这里我发现cwRsync客户端程序安装完后,我当前登录使用的账户是没有权限在 安装目录\cwRsync\bin下创建文件的,所以我将 安装目录\cwRsync和 安装目录\cwRsync\bin都设定成了我当前登录的账户可以完全控制,具体操作参考上面服务端的权限设定说明。
rsync --port=873 -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.password userdata@192.168.137.232::t_files /cygdrive/e/test-files
文件中只写了rsync这条执行命令,那么则需要将 安装目录\cwRsync\bin设置到环境变量path中去。否则在脚本文件中的命令如下。
cd C:\Program Files (x86)\cwRsync\bin
rsync --port=873 -vzrtopg --progress --delete --password-file=/cygdrive/c/pass/rsync.password userdata@192.168.137.232::t_files /cygdrive/e/test-files
在rsync的执行命令中,有很多的配置选项,这些可以参考官方文档。另外还需要注意几点。
- userdata就是对应在服务端配置文件中指定的身份验证的用户名。
- t_files就是在服务端配置文件中指定的模块名称。
- /cygdrive/e/test-files指定将服务端文件同步到客户端的目录。
- --password-file指明客户端的身份验证密码文件,跟服务端的那个密码文件是对应的。只不过客户端的密码文件中不需要写认证用户名。这里注意,我在设置的过程中发现密码文件路径中不能有空格,不然会造成命令解析错误的。所以我单独把密码文件放到了c:\pass目录下。
7. 在命令行中运行脚本文件,同时观察客户端的同步文件结果目录,发现服务端的文件已经同步到这里,则说明cwRsync配置及应用成功。
来源:oschina
链接:https://my.oschina.net/u/992498/blog/224148