123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #!/bin/bash
- # 修改APP_NAME为云效上的应用名
- APP_NAME=manatee
- PROG_NAME=$0
- ACTION=$1
- APP_START_TIMEOUT=20 # 等待应用启动的时间
- APP_PORT=8080 # 应用端口
- HEALTH_CHECK_URL=http://127.0.0.1:${APP_PORT} # 应用健康检查URL
- APP_HOME=/home/admin/${APP_NAME} # 从package.tgz中解压出来的jar包放到这个目录下
- JAR_NAME=${APP_HOME}/manatee-1.0.jar # jar包的名字
- JAVA_OUT=${APP_HOME}/logs/start.log #应用的启动日志
- # 创建出相关目录
- mkdir -p ${APP_HOME}
- mkdir -p ${APP_HOME}/logs
- usage() {
- echo "Usage: $PROG_NAME {start|stop|restart}"
- exit 2
- }
- #health_check() {
- # exptime=0
- # echo "checking ${HEALTH_CHECK_URL}"
- # while true
- # do
- # status_code=`/usr/bin/curl -L -o /dev/null --connect-timeout 5 -s -w %{http_code} ${HEALTH_CHECK_URL}`
- # if [ "$?" != "0" ]; then
- # echo -n -e "\rapplication not started"
- # else
- # echo "code is $status_code"
- # if [ "$status_code" == "200" ];then
- # break
- # fi
- # fi
- # sleep 1
- # ((exptime++))
- #
- # echo -e "\rWait app to pass health check: $exptime..."
- #
- # if [ $exptime -gt ${APP_START_TIMEOUT} ]; then
- # echo 'app start failed'
- # exit 1
- # fi
- # done
- # echo "check ${HEALTH_CHECK_URL} success"
- #}
- start_application() {
- echo "starting java process"
- nohup java -jar ${JAR_NAME} > ${JAVA_OUT} 2>&1 &
- echo "started java process"
- }
- stop_application() {
- checkjavapid=`ps -ef | grep java | grep ${APP_NAME} | grep -v grep |grep -v 'deploy.sh'| awk '{print$2}'`
- if [[ ! $checkjavapid ]];then
- echo -e "\rno java process"
- return
- fi
- echo "stop java process"
- times=60
- for e in $(seq 60)
- do
- sleep 1
- COSTTIME=$(($times - $e ))
- checkjavapid=`ps -ef | grep java | grep ${APP_NAME} | grep -v grep |grep -v 'deploy.sh'| awk '{print$2}'`
- if [[ $checkjavapid ]];then
- kill -9 $checkjavapid
- echo -e "\r -- stopping java lasts `expr $COSTTIME` seconds."
- else
- echo -e "\rjava process has exited"
- break;
- fi
- done
- echo ""
- }
- start() {
- start_application
- # health_check
- }
- stop() {
- stop_application
- }
- case "$ACTION" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- *)
- usage
- ;;
- esac
|