一.背景
现在的服务器都会使用负载均衡技术, 用于解决互联网架构中的高并发和高可用的问题. 但这会出现一个问题, 用户在A服务器上传了一个文件之后, 下次该用户访问B服务器就会出现找不到该文件的情况. 这时候我们就需要做文件同步, 同时文件同步也可以用来做备份.
二.解决方案
在网上找到一些文件同步方案,最后决定使用cwRsync这个软件。cwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对windows高效文件同步。由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。使用 cwRsync 来同步文件后,只需要对一台主服务器进行文件修改,其他镜像服务器可以自动同步,包括文件的更新、删除、重命名等。
演示视频
三.下载和安装
1.链接: 百度网盘 提取码: ejua
2.安装
进行数据同步我们用到了两个工具cwRsyncClient和cwRsyncServer,目前有两台电脑IP分别是:192.168.2.251和192.168.2.252,接下来把192.168.2.252用做Server端也就是我们常说的服务端,另外的就是客户端了
第一步:Server端安装cwRsyncServer_4.0.5_Installer,过程没有什么复杂的一路默认就好了,截图如下:
接下来就是打开cwRsyncServer安装路径C:\Program Files (x86)\ICW,其中rsyncd.conf是cwRsyncServer配置文件
以“记事本”方式打开rsyncd.conf配置文件,将原有内容清空,粘贴以下内容(跟linux的rsync server配置基本没有太大的区别,参数都是相通的)。
use chroot = false
strict modes = false
hosts allow = *
uid = 0
gid = 0
max connections = 10
strict modes = false
log file = rsyncd.log
lock file = rsyncd.lock
[itbiancheng]
path = /cygdrive/d/www
read only = true
transfer logging = yes
auth users = 123
secrets file = /cygdrive/c/Program Files (x86)/ICW/rsyncd.secrets
comment = 内网拉取
部分参数解释:
hosts allow = *:* 表示任何电脑都可以进行连接,只允许指定IP进行连接需要把星号换成指定IP即可
log file = rsyncd.log:日志路径,当前目录下
[itbiancheng]:模块名称
path = /cygdrive/d/www:要同步的路径,如果是e盘www文件夹,则path = /cygdrive/e/www,前面必须加上cygdrive,这点和linux不同
read only = true:不可写,只读
auth users = 123:其中123是用户名
secrets file = /cygdrive/c/Program Files (x86)/ICW/rsyncd.secrets:为用户和密码的文件,是需要手动创建的,格式为123:654321,123是帐号,654321是密码。PS:如果不想加上用户和密码,可以直接不写auth users和secrets file。
comment = 内网拉取:这里是个注释,你写什么都可以
rsyncd.secrets 文件 格式
注意:
默认rsync使用873端口,自行开启windows873端口,如果想使用其他端口自行添加port参数。
全部配置好后,自行开启rsync服务,计算机右键-管理-服务和应用程序-服务,在服务中找到RsyncServer,更改成自动启动,然后确认即可。
第二步:客户端配置:
我这里将cwRsyncClient解压到了D盘cwRsync目录
在D:\cwRsync目录下创建一个mima.txt,内容为654321
在D:\cwRsync目录下创建一个bat批处理,内容如下:
cd D:\cwRsync
rsync -azvP --password-file=/cygdrive/d/cwRsync/mima.txt 123@192.168.2.252::itbiancheng /cygdrive/d/www
pause
然后运行这个bat批处理就可以进行同步了,如果无法同步,就在原有bat批处理文件中添加pause,然后再次运行,查看报错信息
常见报错问题可以参考:此链接
至此windows下使用rsync进行同步配置完成,总体来讲和linux区别不大,参数都是互通的
上面的做法,每次同步都要手动运行bat文件, 要想做到定时同步,就需要用到windows任务计划程序
四.通过计划任务客户端定时同步文件
参考文章: https://www.itbiancheng.com/linux/4891.html
网友评论