一、背景
在做国盛通项目的时候,有两套并行测试环境,因为基本架构采用的是供应商提供的程序,需要将两套banner图做同步,因为图片数量多,进GitLab版本控制进行分支策略管理,进而同步两套环境,意义不大,所以考虑服务器之间的同步。
二、环境与需求
环境:
主线测试环境:172.50.1.172(资讯接入服务器)
并行测试环境:172.50.1.132(资讯接入服务器)
操作系统:Windows Server 2008 R2
软件包:OpenSSH-Win64.zip
GitHub地址:https://github.com/PowerShell/Win32-OpenSSH/releases
需求:
将172.50.1.172的目录D:\zzinfo\mszx\download\qdymanage同步至172.50.1.132所对应的目录
三、开始安装
1.将解压之后的OpenSSH-Win64.zip放入至C:\Program Files (x86)\OpenSSH-Win64
2.开始安装,如图1所示,命令如下:
::打开cmd,安装sshd
cd "C:\Program Files (x86)\OpenSSH-Win64"
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 ::设置服务自动启动并启动服务
sc config sshd start= auto
net start sshd
(图1)
3.设置环境变量
将 C:\Program Files (x86)\OpenSSH-Win64 追加到如图2所示的位置
(图2)
------------------------------以上操作,172.50.1.132和172.50.1.172都需要进行------------------------------
4.因为是132从172上取图片数据,所以172是OpnenSSH服务端,132是OpnenSSH客户端
以下开始配置免秘钥登录
::1.在132服务器上打开cmd,生成密钥对,一直回车
ssh-keygen -t rsa ::2.生成的公钥在C:\Users\Administrator\.ssh(如果你是administrator用户),如图3所示 ::3.将在132上的id_rsa.pub拷贝至172服务器上C:\Users\Administrator\.ssh目录上,并在该目录下,新建一个authorized_keys文件,注意没有后缀格式!!! ::4.将id_rsa.pub里面的内容拷贝至authorized_keys
图3
5.重要的一步,注释服务端172的一个配置C:\ProgramData\ssh\ssh_config,这个目录是隐藏目录,如图4所示
图4
5.重启服务端172 sshd服务
net stop sshd
net start sshd
四、验证
在132上打开cmd,输入命令
如图5所示,表示已经登录上
图5
五、同步172.50.1.172上的D:\zzinfo\mszx\download\qdymanage目录
batch脚本如下
@echo off
echo "---------script:同步172.50.1.172qdymanage-------"
echo "----------author by Michael Ho------------"
echo "----------start bak_qdymanage----------"
rd d:\backup\qdymanage /s /q
md d:\backup\qdymanage
C:\Windows\System32\xcopy.exe d:\zzinfo\mszx\download\qdymanage d:\backup\qdymanage /s /e
rd d:\zzinfo\mszx\download\qdymanage /s /q
echo "---------------end bak_qdymanage-------------"
echo "-----------172_qdymanage deploy to 132_qdymanage-----------"
scp -r [email protected]:d:\zzinfo\mszx\download\qdymanage d:\zzinfo\mszx\download\
echo "-------end-------"
exit 0
六、加入Windows任务计划程序
略