【windows服务器使用cwRsync实时同步】

windows服务器使用cwRsync实时同步

Rsync是一个有名的Linux端同步工具,最大的特点是参数非常详细,可以实现多种多样的传输要求,该工具本身是一个Linux平台软件,在Windows端对应的是cwRsync,使用方法和原来的Rsync类似。由于cwRsync只是用Cygwin将rsync移植到Windows平台的,所以可以用于linux到Windows、Windows到Linux、Windows到Windows等等。
rsync工作流程

环境准备

软件包下载:
链接:https://pan.baidu.com/s/1lCqCtOkloShA2GB6cSDK1w
提取码:6GJd

两台电脑,我这里用虚拟机WIN10模拟服务端,用虚拟机windows7模拟客户端。
服务端IP:192.168.31.171
客户端IP:192.168.31.254

实现目的:将服务端C:\tongbu目录中的文件定时同步到客户端C:\target目录中去。

cwRsyncServer(服务端)配置步骤

1.双击运行wRsyncServer_4.1.0_Installer.exe。
在这里插入图片描述

2.这里创建的账户是操作系统的,创建的这个账户是专门用来运行cwRsyncServer服务端程序的。建议这里不要使用安装程序默认提供的账户名和密码,不易记忆,应该创建一个自己常用的、容易记住的账户。
用户:erlangwu
密码:123.com
在这里插入图片描述
安装完成后,打开用户管理,可以发现自动创建了安装时指定的erlangwu用户。
在这里插入图片描述
3.cwRsyncServer服务程序安装成功后,关闭窗口。然后在系统服务管理界面中找到RsyncServer项,将其启动类型改为“自动”,接着启动服务。
在这里插入图片描述
4.这一步的操作很重要,需要强调。服务端C:\tongbu目录中的文件需要cwRsyncServer服务程序来维持同步,而上面系统创建的“erlangwu”账户是来运行cwRsyncServer服务程序的,所以“erlangwu”账户需要对C:\tongbu这个目录有足够的操作权限。下面我们来设置一下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.权限设置完后,修改cwRsyncServer的配置文件rsyncd.conf(安装目录C:\Program Files (x86)\ICW)。下图是我应用的配置项,未用到配置项的说明可以到官网查询。

  use chroot = false  #不适用chroot
  strict modes = false #静态模式
  hosts allow = *  #对所有IP开放访问
  log file = rsyncd.log  #指定日志文件
  max connections = 5 #指定最大连接数
  uid = 0  #不指定uid,不加该选项无法使用任何账户
  gid = 0  #不指定gid

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

  #权限模块
  [test]   #模块名称
  path = /cygdrive/c/tongbu   ##指定需要备份的目录
  read only = false  #客户端是否只读,具体含义参考官方文档
  transfer logging = yes  #记录传输日志
  auth users = sanlangwu  #服务端与客户端对接/同步文件时所需的身份验证,即用户名
  secrets file = /cygdrive/c/rsync.password  #服务端与客户端对接/同步文件时身份验证所需的密码文件  格式为“用户名:密码”
注意:
auth users不是指定刚开始安装时指定的用户,刚开始安装时指定的erlangwu用户的作用是用作启动    rsync,而rsyncd.conf中指定的用户的作用是用作客户端和服务端连接用的身份验证。

6.按照配置文件中的指定,需要在rsyncd.conf文件所在的目录下创建密码文件——rsync.password。内容为“用户名:密码”,即“sanlangwu:123.com”。至此服务端的同步配置已经完成了。
需要注意的是在windows中创建文件时需要开启后缀名,防止创建时实际创建的文件名为rsync.password.txt,这样就无法识别咯,一定要注意~~~

在这里插入图片描述

cwRsync客户端的配置步骤:

1.在客户端的机器上解压cwRsync_4.1.0_kh.zip后,点击cwRsync_4.1.0_Installer.exe。
在这里插入图片描述
2.测试客户端与服务端的连接是否正常。开始->运行->cmd,在命令行中输入如下内容:
在这里插入图片描述
其中873是cwRsyncServer默认的端口号,我们也可以在服务端的配置文件进行其他端口的指定使用。
出现如下界面则表示可以正常连通:
如果不连通,则可以从服务端防火墙端排查,关闭防火墙或者开放873端口。
在这里插入图片描述
3.在客户端创建执行脚本文件,其中写入连接服务端进行同步的命令。在安装目录C:\Program Files\cwRsync\bin目录下新建fileRsync.cmd文件,内容如下。

 cd C:\Program Files (x86)\cwRsync\bin
 rsync --port=873 -vzrtopg --progress  --password-file=/cygdrive/c/pass/rsync.password sanlangwu@192.168.31.171::test /cygdrive/c/target

sanlangwu:就是对应在服务端配置文件中指定的身份验证的用户名。
test:就是在服务端配置文件中指定的模块名称。
/cygdrive/c/target:指定将服务端文件同步到客户端的目录。
–password-file指明客户端的身份验证密码文件,跟服务端的那个密码文件是对应的。
这里注意,我在设置的过程中发现密码文件路径中不能有空格,不然会造成命令解析错误的。所以我单独把密码文件放到了c:\pass目录下。

4.创建客户端密码文件c/pass/rsync.password
客户端的密码文件中不需要写认证用户名。只需要填写sanlangwu的密码即可
123.com

5.在命令行中运行脚本文件fileRsync.cmd,同时观察客户端的同步文件结果目录,发现服务端的文件已经同步到这里,则说明cwRsync配置及应用成功。
在这里插入图片描述

报错处理

1.服务端缺少lock file配置报错
解决方法:
更改服务端配置文件过程中误删除lock file配置导致的报错,在服务端配置文件中添加:
lock file = rsyncd.lock后重启RsyncServer进程即可
在这里插入图片描述
2.客户端同步时报错 客户端密码文件权限问题
在这里插入图片描述

解决方法:
cd C:\Program Files\cwRsync\bin
chmod.exe -c 600 /cygdrive/c/pass/rsync.password
chown.exe administrator /cygdrive/c/pass/rsync.password
如果客户端没有chown.exe可以去服务端中拷贝,文章中所给的资源包中也有,拷贝到bin目录执行即可。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二郎5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值