批处理命令一键启动多个服务
新的项目用的微服务架构。服务启动前要启动Etcd,Redis等前置条件。然后还要启动微服务下各个模块。一个一个的点击exe,或者敲命令太费时间。然后想到用批处理命令,把各个环节的启动放到一个bat文件里一键启动。经过反复试验测试,成功达到预期效果。写个文章做备份。最开始把命令都写在一起,部分能启动,部分闪退,应该是不在同一目录下一些环境或者配置拿不到导致的。然后换个思路,每个服务目录下...
·
新的项目用的微服务架构。服务启动前要启动Etcd,Redis等前置条件。然后还要启动微服务下各个模块。一个一个的点击exe,或者敲命令太费时间。然后想到用批处理命令,把各个环节的启动放到一个bat文件里一键启动。
经过反复试验测试,成功达到预期效果。写个文章做备份。
最开始把命令都写在一起,部分能启动,部分闪退,应该是不在同一目录下一些环境或者配置拿不到导致的。
然后换个思路,每个服务目录下都新建一个bat文件,分别测试能启动。然后一个总的bat文件去分别调用每个服务的bat文件。
总的bat文件代码如下:
@echo off
rem start "" cmd /k call b.bat
rem ""是一段字符串,代表新打开的cmd窗口的名字,可以随便起名。
rem /k是表示新打开的cmd窗口在执行完命令后保存打开状态,如果希望执行完就关闭窗口就使用/c
rem call b.bat表示call命令,即调用b.bat文件;该命令可以用""括起来,即:"call b.bat"
rem 服务启动顺序 ectd、redis、postgre他们先起,然后网关、权限、config、view、下装,最后FEP、RTDB、Alarm、Realtime
::=========================Etcd=================================
echo now run the Etcd ...
cd /d C:\Etcd
start "Etcd" cmd /k call Etcd.bat
::等待5秒
start /min /w mshta vbscript:setTimeout("window.close()",5000)
::=========================Redis================================
echo now run the Redis ...
cd /d C:\Redis
start "Redis" cmd /k call Redis.bat
::等待5秒
start /min /w mshta vbscript:setTimeout("window.close()",5000)
::==========================PhiliGateway=======================
echo now run the PhiliGateway ...
cd /d D:\PhiliCube\Application\PhiliGateway
start "PhiliGateway" cmd /k call phili-gateway.bat
::等待15秒
start /min /w mshta vbscript:setTimeout("window.close()",15000)
::==========================PhiliAuthority======================
echo now run the PhiliAuthority ...
cd /d D:\PhiliCube\Application\PhiliAuthority
start "PhiliAuthority" cmd /k call phili-auth-server.bat
::等待20秒
start /min /w mshta vbscript:setTimeout("window.close()",20000)
::==========================PhiliConfig=========================
echo now run the PhiliConfig ...
cd /d D:\PhiliCube\Application\PhiliConfig\ConfigServerV2
start "PhiliConfig" cmd /k call PhiliConfigStart.bat
::等待10秒
start /min /w mshta vbscript:setTimeout("window.close()",10000)
::===========================PhiliView==========================
echo now run the PhiliView ...
cd /d D:\PhiliCube\Application\PhiliView\philiview\server
start "PhiliView" cmd /k call philiview.bat
::等待5秒
start /min /w mshta vbscript:setTimeout("window.close()",5000)
::============================PhiliRealTime=====================
echo now run the PhiliRealTime ...
cd /d D:\PhiliCube\Application\PhiliRealTime
start "PhiliRealTime" cmd /k call runPhiliRealTime.bat
::=====================do other somthing========================
echo this window will be closed ...
::等待10秒
start /min /w mshta vbscript:setTimeout("window.close()",10000)
exit
Etcd的bat代码如下:
@echo off
echo start Etcd ...
title Etcd
etcd --config-file=./etcd.conf.yml
Redis(exe类型)的bat代码如下:
@echo off
echo start redis ...
title Redis
redis-server.exe
Auth(jar类型)代码如下:
@echo off
title phili-auth-server
java -jar phili-auth-server.jar
Config(NodeJs类型)代码如下:
@echo off
echo start PhiliConfig ...
cd D:\PhiliCube\Application\PhiliConfig\ConfigServerV2
title PhiliConfig
cfgnode.exe server.js
更多推荐
已为社区贡献1条内容
所有评论(0)