阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

cwRsyncServer实现从Windows下数据实时同步到Linux服务器

135次阅读
没有评论

共计 5678 个字符,预计需要花费 15 分钟才能阅读完成。

由于公司有两台 Windows 服务器,开发在操作时一般也都是在这两台服务器上上传一些数据或修改一些东西,而 Linux 上的服务器也要跟 Windows 上的数据要保持一致而又不需要人为的实现这个过程,基于此过程,昨天花了点时间,完成了基本的测试实现过程,今天就把这过程给记录下来,方便以后查看,以希望可以帮到还在困惑的朋友们。

利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

第一步:在 Windows 上的安装 cwRsyncServer4.1.0 以及配置过程

在 Windows 上下载安装包cwRsyncServer4.1.0,要是在虚拟机上安装 Windows 服务器的,如果你的 Windows 服务器上不了网,那就在本机上下载好持拷贝过去就好了,如果还不知道怎么拷贝到 Windows 上去的话那就在 Linux 上建个 ftp 服务器,把文件丢里面去共享就可以拷贝了。

cwRsyncServer4.1.0 下载地址见下连接:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2014 年资料 /8/13cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

在拷贝中如果出现这个问题:Windows 2003 当前的安全设置不允许从该位置下载文件的解决方案:

只需要设置 Internet 选项 –> 安全 –> 自定义级别 找到下载项中的“文件下载”,启用即可。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

如下是 cwRsyncServer 安装过程,一直点下一步就可以了,这里就不一一贴出来了:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

这里需要创建一个帐户,就用默认的就好了,设置一个自己的密码就 OK 了。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

安装完成之后下面开始配置,打开安装目录下的文件目录:C:\Program Files (x86)\ICW,修改 rsyncd.conf 配置文件的内容为以下配置;

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

这里要注意的是,如果不写 uid=0, 和 gid= 0 的话就,在远程连接时就会出现以下的情况:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

到这里了就要在 F 盘下新建一个 rsyncdata 的目录,这个目录就是指它里面的所有数据同步到 linux 的指定目录去的,也就是 Windows 下的 rsyncd.conf 配置文件的 [rsyncdata] 模块对应的文件,新建好之后我们还需要改一些配置:

1234567

[rsyncdata]    #指定模块的头信息

path = /cygdrive/f/rsyncdata    #需要同步数据的目录,这个目录指 F 盘下的 rsyncdata 目录

read only = true    #是否为只读

list = no

hosts allow = 10.17.1.200,10.17.1.88,10.17.1.60 #允许访问的主机,多个用逗号分隔

auth users = rsync    #指定认证的用户名

secrets file = /cygdrive/f/rsyncd.secrets    #指定认证用户的密码文件存放路径,这个路径指 F 盘下的 rsyncd.secrets, 一会需要新建这个文件

还需要修改一下 rsyncdata 这个目录的一些相关属性信息,右键这个文件选属性:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

输入完 SvcCWRSYNC 这个用户名后点“检查名称”就可以匹配上了,再点确定就 OK 了。

最后再改一下这个文件对这个用户的访问权限:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

选中我的电脑 – 右键管理 — 服务和应用 – 服务,找到 RsyncSever,双击 – 启动,把这个服务器起动起来:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

到这里应该是说 Windows 下的就配置完了,但是要注意的是如果你的 linux 需要用 telnet 来连接到 Windows 上来的话那 Windows 上的防火墙记得要关闭,否则很可能连不上去,也可以在本上的测试一下,出现以下情况就说明可以连接上去了,说明 Windows 服务可用了。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

在 cmd 下输入你 Windows 的本机地址和 rsync 的监听端口,它的默认监听的端口是 873,回车:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

出现 @RSYNCD:30.0 这个就说明可以连接上去了。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-08/105514p2.htm

二、Rsync 客户端配置,这个就需要 Linux 上做配置了,相关的配置见如下过程:

1、查看 selinux 机制,关闭 selinux

[root@node1 ~]# getenforce

Disabled

2、安装 Rsync 客户端软件

[root@node1 ~]# yum install rsync xinetd

3、需要安装这两个软件包就可以了, 安装好之后就要修改一点配置文件了:

[root@node1 ~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动 rsync ,CentOS 上的 rsync 使用 xinetd 启用的

将 disable=yes,改为 no

service rsync

{

disable = no

socket_type    = stream

wait            = no

user            = root

server          = /usr/bin/rsync

server_args    = –daemon

log_on_failure += USERID

}

/etc/init.d/xinetd start #启动 xinetd 这个服务

4、修改之后就远程连接测试一下,记得把 windows 的防火墙给关闭了哦,要不然很可能会连接不上的,或都在 windows 防火墙上开放 873 这个端口

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

OK,说明连接到 windows 上成功了,那接下来我们就创建一个与 windows 下同步的目录了:

[root@node1 ~]# mkdir pv /rsyncdata/data

为了同步数据时不用每次都不手动输入密码,我们在客户端 (linux 下) 也创建一个和服务端 (windows) 一样的密码文件(此文件路径和密码要与服务器端的一样,客户端不用写名字)

[root@node1 ~]# vim /etc/rsyncd.secrets #只需要写上服务器端上的用户密码就可以了

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

[root@node1 ~]# chmod 600 /etc/rsyncd.secrets  #改一下权限

5、到这里我们就可以写命令来拉取 windows 服务器端上的数据了:

[root@node1 ~]# rsync -vazrtopqg –delete –password-file=/etc/rsyncd.secrets rsync@10.17.1.88::rsyncdata/* /rsyncdata/data/

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

传输成功,这里说明一下这几个参数表示什么:

-v, –verbose  #详细模式输出

-q, –quiet  #精简输出模式

-a, –archive  #归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD

-r, –recursive  #对子目录以递归模式处理

-o, –owner  #保持文件属主信息

-g, –group  #保持文件属组信息

-t, –times  #保持文件时间信息

–delete  #删除那些 DST 中 SRC 没有的文件

–password-file=FILE  #从 FILE 中得到密码

6、为了一是每次有数据修改时都要手动去同步一步,我们把这个命令写成一个脚本,再添加一个任务计划,这个就可以实现自动同步数据了;

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

[root@node1 ~]# crontab -e

* * * * * /bin/bash /root/rsync.sh &> /dev/null  #我们设置每分钟同步一次

OK 了,到这里我们的整个的配置算是完成了,可能还做得不到的地方,希望朋友们发现了给我指出哦,在此先谢过了。

由于公司有两台 Windows 服务器,开发在操作时一般也都是在这两台服务器上上传一些数据或修改一些东西,而 Linux 上的服务器也要跟 Windows 上的数据要保持一致而又不需要人为的实现这个过程,基于此过程,昨天花了点时间,完成了基本的测试实现过程,今天就把这过程给记录下来,方便以后查看,以希望可以帮到还在困惑的朋友们。

利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

第一步:在 Windows 上的安装 cwRsyncServer4.1.0 以及配置过程

在 Windows 上下载安装包cwRsyncServer4.1.0,要是在虚拟机上安装 Windows 服务器的,如果你的 Windows 服务器上不了网,那就在本机上下载好持拷贝过去就好了,如果还不知道怎么拷贝到 Windows 上去的话那就在 Linux 上建个 ftp 服务器,把文件丢里面去共享就可以拷贝了。

cwRsyncServer4.1.0 下载地址见下连接:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2014 年资料 /8/13cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

在拷贝中如果出现这个问题:Windows 2003 当前的安全设置不允许从该位置下载文件的解决方案:

只需要设置 Internet 选项 –> 安全 –> 自定义级别 找到下载项中的“文件下载”,启用即可。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

如下是 cwRsyncServer 安装过程,一直点下一步就可以了,这里就不一一贴出来了:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

这里需要创建一个帐户,就用默认的就好了,设置一个自己的密码就 OK 了。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

安装完成之后下面开始配置,打开安装目录下的文件目录:C:\Program Files (x86)\ICW,修改 rsyncd.conf 配置文件的内容为以下配置;

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

这里要注意的是,如果不写 uid=0, 和 gid= 0 的话就,在远程连接时就会出现以下的情况:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

到这里了就要在 F 盘下新建一个 rsyncdata 的目录,这个目录就是指它里面的所有数据同步到 linux 的指定目录去的,也就是 Windows 下的 rsyncd.conf 配置文件的 [rsyncdata] 模块对应的文件,新建好之后我们还需要改一些配置:

1234567

[rsyncdata]    #指定模块的头信息

path = /cygdrive/f/rsyncdata    #需要同步数据的目录,这个目录指 F 盘下的 rsyncdata 目录

read only = true    #是否为只读

list = no

hosts allow = 10.17.1.200,10.17.1.88,10.17.1.60 #允许访问的主机,多个用逗号分隔

auth users = rsync    #指定认证的用户名

secrets file = /cygdrive/f/rsyncd.secrets    #指定认证用户的密码文件存放路径,这个路径指 F 盘下的 rsyncd.secrets, 一会需要新建这个文件

还需要修改一下 rsyncdata 这个目录的一些相关属性信息,右键这个文件选属性:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

输入完 SvcCWRSYNC 这个用户名后点“检查名称”就可以匹配上了,再点确定就 OK 了。

最后再改一下这个文件对这个用户的访问权限:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

选中我的电脑 – 右键管理 — 服务和应用 – 服务,找到 RsyncSever,双击 – 启动,把这个服务器起动起来:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

到这里应该是说 Windows 下的就配置完了,但是要注意的是如果你的 linux 需要用 telnet 来连接到 Windows 上来的话那 Windows 上的防火墙记得要关闭,否则很可能连不上去,也可以在本上的测试一下,出现以下情况就说明可以连接上去了,说明 Windows 服务可用了。

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

在 cmd 下输入你 Windows 的本机地址和 rsync 的监听端口,它的默认监听的端口是 873,回车:

cwRsyncServer 实现从 Windows 下数据实时同步到 Linux 服务器

出现 @RSYNCD:30.0 这个就说明可以连接上去了。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-08/105514p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5678字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中