#!/bin/bash
app_name=$1
pid=`ps aux | grep java | grep ${app_name} | grep -v "grep" | awk '{print $2}'`
name=`sed -n "4p" /etc/hosts | awk '{print $2}'`
usags() {
echo "Usags: boot [eureka|location|config|auth|emqtt|gateway|notification|phonestatisctis] [start|stop|status]"
exit 1
}
#检查程序是否在运行
is_exist() {
if [ -z "${pid}" ];then
return 1
else
return 0
fi
}
#启动
is_start() {
is_exist
if [ $? -eq "0" ];then
echo "${app_name} is running"
else
if [ $app_name == "auth" ];then
cd /application/jar/$app_name
>nohup.out
nohup java -server -Xms1024m -Xmx1204m -jar workos-${app_name}-server.jar > nohup.out 2>&1 &
elif [ $app_name == "notification" ];then
cd /application/jar/$app_name
>nohup.out
nohup java -server -Xms512m -Xmx512m -jar workos-${app_name}-server.jar > nohup.out 2>&1 &
elif [ $app_name == "location" ] || [ $app_name == "phonestatisctis" ];then
cd /application/jar/$app_name
>nohup.out
nohup java -server -Xms512m -Xmx512m -jar workos-${app_name}.jar > nohup.out 2>&1 &
elif [ $app_name == "gateway" ];then
cd /application/jar/$app_name
>nohup.out
nohup java -server -Xms1024m -Xmx1204m -jar workos-${app_name}.jar > nohup.out 2>&1 &
else
cd /application/jar/$app_name
>nohup.out
nohup java -server -Xms256m -Xmx256m -jar workos-${app_name}.jar > nohup.out 2>&1 &
fi
fi
}
#停止
is_stop() {
port=`ss -lntup | grep ${pid} | grep -v "grep" | awk -F '[ :]+' '{print $6}'`
is_exist
if [ $? -eq "0" ];then
if [ $app_name == "auth" ] || [ $app_name == "notification" ] || [ $app_name == "location" ] || [ $app_name == "emqtt" ];then
kill -9 $pid
curl -u workos:workos -X DELETE "http://172.17.247.119:8761/eureka/apps/${app_name}-service/${name}:${app_name}-service:${port}" > /dev/null 2>&1
curl -u workos:workos -X DELETE "http://172.17.247.110:8761/eureka/apps/${app_name}-service/${name}:${app_name}-service:${port}" > /dev/null 2>&1
elif [ $app_name == "eureka" ];then
kill -9 $pid
else
kill -9 $pid
curl -u workos:workos -X DELETE "http://172.17.247.119:8761/eureka/apps/workos-${app_name}/${name}:workos-${app_name}:${port}" > /dev/null 2>&1
curl -u workos:workos -X DELETE "http://172.17.247.110:8761/eureka/apps/workos-${app_name}/${name}:workos-${app_name}:${port}" > /dev/null 2>&1
fi
else
echo "${app_name} is not running"
fi
}
#状态
is_status() {
is_exist
if [ $? -eq "0" ];then
echo "${app_name} is running"
else
echo "${app_name} is no running"
fi
}
#根据输入参数,选择执行方法
case $1 in
auth|config|eureka|gateway|location|notification|phonestatisctis)
case $2 in
start)
is_start
;;
stop)
is_stop
;;
status)
is_status
;;
*)
usags
esac
;;
*)
usags
;;
esac