美文网首页
使用cwRsync实现windows服务器文件定时同步

使用cwRsync实现windows服务器文件定时同步

作者: 不在三重门 | 来源:发表于2020-11-30 10:58 被阅读0次

    一.背景

    现在的服务器都会使用负载均衡技术, 用于解决互联网架构中的高并发高可用的问题. 但这会出现一个问题, 用户在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

    相关文章

      网友评论

          本文标题:使用cwRsync实现windows服务器文件定时同步

          本文链接:https://www.haomeiwen.com/subject/kvshwktx.html