java_run.sh

#!/bin/bash
#description: 管理端Java启动脚本

APP_PATH=/data/applications/app
APP_NAME=app.jar

echo_color () {
if [ $1 == 'red' ];then
        echo -e "\\033[31m $2 \\033[0m"
elif [ $1 == 'green' ];then
        echo -e "\\033[32m $2 \\033[0m"
fi
}

usage () {
echo_color red "Usage: bash $0 [start|restart|stop|status]"
#echo_color red "default restart"
}

is_exits () {
pid=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{print $2}')
if [ -z ${pid} ];then
        return 1
else
        return 0
fi
}

start () {
is_exits
if [  $? -eq 0 ];then
        echo_color green "${APP_NAME} is already
pid ${pid}"
else
        nohup /usr/local/jdk8/bin/java -jar ${APP_PATH}/${APP_NAME} --spring.profiles.active=test > ${APP_PATH}/${APP_NAME}/log.log 2>&1 &
        echo_color green "${APP_NAME} start successed
pid $!"
fi
tailf -1000 fans-club.log
}

stop () {
is_exits
if [ $? -eq 0 ];then
        kill -15 ${pid}
        sleep 3
        is_exits
        if [ $? -eq 0 ];then
                kill -9 ${pid}
        fi
        echo_color green "${APP_NAME} stop successed!"
else
        echo_color green "${APP_NAME} is not running..."
fi
}

status () {
is_exits
if [ $? -eq 0 ];then
        echo_color green "${APP_NAME} is running...
pid ${pid}"
else
        echo_color green "${APP_NAME} is not running!"
fi
}

restart () {
stop
sleep 3
start
sleep 3
}

case $1 in
        "start")
                start
        ;;
        "stop")
                stop
        ;;
        "status")
                status
        ;;
        "restart")
                restart
        ;;
        *)
                usage
        ;;
esac