美文网首页
shell脚本启动、关闭服务

shell脚本启动、关闭服务

作者: 贰爷 | 来源:发表于2021-03-25 15:02 被阅读0次

JAVA_APP_PATH_WF=/opt/module/wk-source-wf.jar
JAVA_APP_PATH_REGISTER=/opt/module/wk-register.jar
PYTHON_APP_PATH=/root/main.py

使用说明,用来提示输入参数

usage() {
echo "Usage: sh 执行脚本.sh [start|stop]"
exit 1
}

---------------------- 回传引擎 ------------------

检查回传引擎是否在运行

python_is_exist(){
pid=ps -ef|grep $PYTHON_APP_PATH|grep -v grep|awk '{print $2}'
# 如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

回传引擎启动方法

python_start(){
python_is_exist
if [ ? -eq "0" ]; then echo "回传引擎 is already running. pid={pid} ."
else
echo "回传引擎 start run"
nohup python $PYTHON_APP_PATH > /root/log/nohup.out 2>&1 &
fi
}

回传引擎停止方法

python_stop(){
python_is_exist
if [ ? -eq "0" ]; then kill -9pid
else
echo "回传引擎 is not running"
fi
}

--------------------- WF采集引擎 ----------------------

检查采集引擎是否在运行

java_wf_is_exist(){
pid=ps -ef|grep $JAVA_APP_PATH_WF|grep -v grep|awk '{print $2}'
# 如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

采集引擎启动方法

java_wf_start(){
java_wf_is_exist
if [ ? -eq "0" ]; then echo "采集引擎 is already running. pid={pid} ."
else
echo "采集引擎 start run"
nohup java -jar $JAVA_APP_PATH_WF > /dev/null 2>&1 &
fi
}

采集引擎停止方法

java_wf_stop(){
java_wf_is_exist
if [ ? -eq "0" ]; then kill -9pid
else
echo "采集引擎 is not running"
fi
}

--------------------- 注册中心 ----------------------

检查注册中心是否在运行

java_register_is_exist(){
pid=ps -ef|grep $JAVA_APP_PATH_REGISTER|grep -v grep|awk '{print $2}'
# 如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

注册中心启动方法

java_register_start(){
java_register_is_exist
if [ ? -eq "0" ]; then echo "注册中心 is already running. pid={pid} ."
else
echo "注册中心 start run"
nohup java -jar $JAVA_APP_PATH_REGISTER > /dev/null 2>&1 &
fi
}

注册中心停止方法

java_register_stop(){
java_register_is_exist
if [ ? -eq "0" ]; then kill -9pid
else
echo "注册中心 is not running"
fi
}

------------------ 整体开关 ------------------

启动

start(){
echo "启动注册中心..."
java_register_start
java_register_is_exist
until [ ? -eq "0" ] do java_register_is_exist done sleep 5 echo "注册中心启动成功 pid=pid, 启动采集引擎..."
java_wf_start
java_wf_is_exist
until [ ? -eq "0" ] do java_wf_is_exist done sleep 5 echo "采集引擎启动成功 pid=pid, 启动回传引擎..."
python_start
python_is_exist
until [ ? -eq "0" ] do python_is_exist done sleep 2 echo "回传引擎启动成功 pid=pid, 所有引擎已启动完成"
}

关闭

stop(){
echo "关闭注册中心..."
java_register_stop
java_register_is_exist
until [ ? -eq "1" ] do java_register_is_exist done sleep 5 echo "注册中心已关闭, 关闭采集引擎..." java_wf_stop java_wf_is_exist until [? -eq "1" ]
do
java_wf_is_exist
done
sleep 5
echo "采集引擎已关闭, 关闭回传引擎..."
python_stop
python_is_exist
until [ $? -eq "1" ]
do
python_is_exist
done
sleep 2
echo "回传引擎已关闭, 所有引擎已关闭"
}

根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in
"start")
start
;;
"stop")
stop
;;
*)
usage
;;
esac
exit 0

相关文章

网友评论

      本文标题:shell脚本启动、关闭服务

      本文链接:https://www.haomeiwen.com/subject/xjtrhltx.html