项目要求:
有多个jar要启动,启动参数也各不相同,根据配置文件来启动或不启动指定的jar包。
根据 https://blog.youkuaiyun.com/zk0920zk/article/details/79253950 里的脚本,
改良如下:
#! /bin/sh
# 系统模块
MODULES=(amap baidu superMap alarm gps lock tcpgw)
# 系统模块名称
MODULE_NAMES=(高德地图后台 百度地图后台 超图地图后台 告警 GPS数据存储 锁状态处理 网关)
# jar包数组
JARS=(admin-1.2-amap.jar admin-1.2-baidu.jar admin-1.2-superMap.jar alarm-1.2-SNAPSHOT.jar gps-1.2-SNAPSHOT.jar lock-monitor-1.2-SNAPSHOT.jar tcpgw-1.0.1.jar)
# 运行目录
PWD=$(cd $(dirname $0); pwd)
# jar包路径
JAR_PATH="$PWD/jar"
# 日志路径
LOG_PATH="$PWD/logs"
start() {
local MODULE=
local MODULE_NAME=
local JAR_NAME=
local command="$1"
local commandOk=0
local count=0
local okCount=0
local port=0
for((i=0;i<${#MODULES[@]};i++))
do
skip=0
MODULE=${MODULES[$i]}
MODULE_NAME=${MODULE_NAMES[$i]}
JAR_NAME=${JARS[$i]}
if [ "$command" == "all" ] || [ "$command" == "$MODULE" ];then
commandOk=1
count=0
PID=`ps -ef |grep $(echo $JAR_NAME | awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ];then
printf "%12s\t%-24s\t已经运行\tPID=%d\n" $MODULE $MODULE_NAME $PID
else
case $MODULE in
gps)
exec nohup java -Djava.library.path=/usr/local/taos/driver/ -jar $JAR_PATH/$JAR_NAME > $LOG_PATH/$MODULE.log 2>&1 &
;;
tcpgw)
fileD=${PWD}/jar/config/application.yml
start_line=`grep "rabbitmq" $fileD -n| awk -F: '{print $1}'`
end_line=`grep "redis" $fileD -n| awk -F: '{

最低0.47元/天 解锁文章
6217

被折叠的 条评论
为什么被折叠?



