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 [ {pid} ."
else
echo "回传引擎 start run"
nohup python $PYTHON_APP_PATH > /root/log/nohup.out 2>&1 &
fi
}
回传引擎停止方法
python_stop(){
python_is_exist
if [ pid
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 [ {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 [ pid
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 [ {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 [ pid
else
echo "注册中心 is not running"
fi
}
------------------ 整体开关 ------------------
启动
start(){
echo "启动注册中心..."
java_register_start
java_register_is_exist
until [ pid, 启动采集引擎..."
java_wf_start
java_wf_is_exist
until [ pid, 启动回传引擎..."
python_start
python_is_exist
until [ pid, 所有引擎已启动完成"
}
关闭
stop(){
echo "关闭注册中心..."
java_register_stop
java_register_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
网友评论