批处理命令一键启动多个服务

新的项目用的微服务架构。服务启动前要启动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

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值