Windows与Linux跨机房数据同步
背景:
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联建站是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站设计、网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
总部研发中心需要将机房的存储SMB服务中某些文件同步到 IDC 及 分公司研发中心办公区内部SMB。 IDC与总部研发中心通过IPsec×××,形成隧道链路;分公司办公区域仅为基本网络。
难点:
办公区无硬件×××类设备,无固定IP
总部的防火墙提供的×××客户端Linux版本仅为1.00,需要开图形且极其不好用;
解决方法:
办公区域增加前置机安装windows版本软件×××,实现与总部前置机联通。
网络连接拓扑如下:
应用实施拓扑及步骤如下:
实施步骤1:
配置两地SMB
总部samba服务器安装NFS(或者沿用SMB),分公司配置SMB服务器;
在两办公区将相关路径磁盘分别挂载到各自的前置机;
实施步骤2:
通过的IPSec×××的方式,将总部前置与IDC前置策略打通;
将已经挂载SMB的前置机上文件夹rsync到IDC托管服务器的相关目录;
实施步骤3:
实现Windows与Linux跨机房数据同步
本文着重讲述实施步骤3的相关细则
要点:
分公司无固定IP,采用“PULL”方式,将数据文件通过rsync同步到分公司前置机。
所需软件:
防火墙自带Windows版本×××客户端
cwRsync_5.5.0_x86_Free.zip
(下载地址:https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip)
众所周知,rsync依赖于ssh进行登录,Windows版本rsync的难点在于如何实现无密码自动登录。
难点1:ssh所对应Windows下的/home目录创建
增加环境变量:
系统变量
新增path
C:\cwRsync_5.5.0_x86_Free\bin
用户变量
新增CWRSYNCHOME
C:\cwRsync_5.5.0_x86_Free\bin
完成后需要通过命令行创建/home/Administrator/.ssh
创建.ssh必须通过命令行
cmd中执行
SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh
难点2:keygen权限问题
cmd中执行
ssh-keygen -t rsa -C Administrator@IP
一路回车,无密码
将得到的公钥下发到总部前置Linux服务器
导入分公司前置机公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 .ssh/authorized_keys
公钥下发后依旧保持需要密码,报错如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@WARNING: UNPROTECTED PRIVATE KEY FILE!. @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
这个报错是因为Windows下生成的id_rsa id_rsa.pub及konw_hosts权限不是600
于是更改文件属性到如下
修改后如下:
执行以下脚本进行同步:
@ECHO OFF SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free IF NOT EXIST %CWRSYNCHOME%\home\%USERNAME%\.ssh MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh SET CWOLDPATH=%PATH% SET PATH=%CWRSYNCHOME%\bin;%PATH% rsync -vzrtopg --progress --delete backup@总部前置机IP:/home/share/ /cygdrive/e/
设置任务计划,就可以实现定时自动同步。
当前文章:Windows与Linux跨机房数据同步
文章地址:http://scyanting.com/article/ggpiph.html