bat神技之多应用如何一键启动编排
2020-11-06 本文已影响0人
raysonfang
在日常开发中,我们启动应用环境的时候,不仅仅是单体应用启动,同时也会启动一些外部服务,比如redis, zookeeper,nginx以及消息中间件等服务。
我们在启动这些外部服务的时候, 需要手动一个一个的去启动,非常地不方便。
那这篇文章,也将分享一下如何利用bat脚本文件解决多应用编排,达到一键启动多应用的效果。
首先先看看我是怎么实现的,然后再详细讲解命令,然后同学们就可以进行自行扩展。
@echo off
chcp 65001
start "zookeeper" cmd /k E:\xxx\appserver\zookeeper-3.4.14\bin\zkServer.cmd
start "nginx" cmd /c "cd /d E:\xxx\appserver\nginx-1.16.1&&start nginx"
start "RabbitMQ" cmd /c "cd /d E:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2\sbin&&rabbitmq-server.bat"
ping 127.1 -n 6 >nul
echo -------------------------------------------------
echo 1.zkServer运行完成,继续往下....
echo --------------------------------------------------
echo;
echo;------运行结束--------
pause
这些命令翻译过来的含义如下
1. 关闭该命令后所有命令的回显,只显示输入命令后回显结果
2. 设置命令窗口的编码为utf8 以免中文乱码
3. 开始执行zookeeper服务,cmd 是打开新的 cmd 窗口, /k 是指执行命令后 不关闭新窗口,以保持zookeeper服务运行。
4. 开始执行nginx服务,是打开新的 cmd 窗口, /c 是新窗口中执行完命令后,关闭cmd新窗口
5. 开始执行RabbitMQ Server服务。
6. ping 127.1 -n 6 > nul 等待5s后继续往下执行
...
echo 是打印输出信息
总结模板命令如下:
启动命令
start "命令窗口标题" cmd (/c or /k) "软件启动命令"
延时命令
延时等待。比如服务之间有先后依赖关系的。需要先等待一个服务启动,延时5s后,再启动下一个服务。那这个延时等待命令就起到作用了。
echo 延时5s
ping 127.1 -n 6 >nul
echo 延时10s
ping 127.1 -n 11 >nul
有些同学可能没有写过bat批处理文件,没关系的。多查查资料就明白了。
收藏点赞加关注,神技天天有