微服务jar包启动脚本
#!/bin/bash#Created on Jul 24#@author yunweibu@foresee.com#Version 1.1#刷新系统环境变量source ~/.bash_profileecho "Sping Cloud ops script.FORESEE"#封装定义颜色输出function green() {echo -e "\033[32m$1 \033[0m"}function red() {echo -e "\033[31m$1 \033[0m"}#设置目录路径变量DISK_DIR=/data/logs#日志路径BIN_DIR=$(cd `dirname $0`; pwd)#bin目录的路径DEPLOY_DIR=${BIN_DIR%/*}#安装目录cd $DEPLOY_DIRSERVER_NAME=$(pwd | sed 's,^\(.*/\)\?\([^/]*\),\2,')#去服务名CONF_DIR=${DEPLOY_DIR}/conf#conf目录LIB_DIR=${DEPLOY_DIR}/lib#lib目录LOGS_DIR=${DEPLOY_DIR}/logs#日志目录LOGS_ROOTPATH=${DISK_DIR}/${SERVER_NAME}#微服务日志传参目录#设置JAR包变量JAR_NAME="`ls ${LIB_DIR} | grep .jar | sort -nr | head -1`"#jar包名称RUN_JAR_PATH=${LIB_DIR}/${JAR_NAME}#jar包绝对路径名称PIDS=`ps aux |grep "$JAR_NAME"|grep -v grep| awk '{print $2}'`#进程PIDS# set envsource $DEPLOY_DIR/../setEnv.sh#设置微服务环境变量#设置九维监控变量jw_IP='192.168.200.150'jw_MONITOR_PATH=${DEPLOY_DIR}/nnops/pinpoint-bootstrap-1.6.0.jarjw_KEY=RC0cx2CxItzEZN4x5t8d80jw_SECRET=eiPptF_GInbrrGRixGgh_0jw_ProjectID=23DC1AD4FFFFFF96328C1C62F7139853jw_SENTRYDSN=http://${jw_KEY}:${jw_SECRET}@${jw_IP}/applog/${jw_ProjectID}?options#输出打印目录# echo descecho "################################################################################"java -versionecho "JAVA_HOME=$JAVA_HOME"echo "DEPLOY_DIR=$DEPLOY_DIR"echo "RUN_JAR_PATH=$RUN_JAR_PATH"echo "################################################################################"if [ -n "$PIDS" ]; thenred "ERROR: The [$DEPLOY_DIR:$SERVER_NAME] already started! PID is $PIDS!"exit 1fi#判断微服务是否已经开启# init logs dirif [ ! -d $LOGS_DIR ]; thenmkdir $LOGS_DIRfi#判断日志目录是否存在if [ ! -d $LOGS_ROOTPATH ]; thenmkdir -p $LOGS_ROOTPATHfi#判断目录存在JAVA_OPTS="${ENV_OPTS} -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8"#java启动参数JAVA_DEBUG_OPTS=""if [ "$1" = "debug" ]; thenJAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "fiJAVA_JMX_OPTS=""if [ "$1" = "jmx" ]; thenJAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "fiJAVA_MEM_OPTS=""BITS=`java -version 2>&1 | grep -i 64-bit`if [ -n "$BITS" ]; thenJAVA_MEM_OPTS=" -server -Xms256m -Xmx256m -Xmn128m -XX:MaxMetaspaceSize=256m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -Dspring.application.name=${SERVER_NAME} "elseJAVA_MEM_OPTS=" -client -Xms128m -Xmx128m -XX:MaxMetaspaceSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "fi#判断系统java的位数green "Starting the $SERVER_NAME ...\c"nohup java -javaagent:$jw_MONITOR_PATH -Dlog.rootPath=$LOGS_ROOTPATH -Dsentrydsn=$jw_SENTRYDSN $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -jar $RUN_JAR_PATH > /dev/null 2>&1 &#启动命令 nohupgreen "OK! \c"PIDS=`ps -ef | grep java | grep "$LIB_DIR" | awk '{print $2}'`green "PID: $PIDS"green "LOGS_ROOTPATH: $LOGS_ROOTPATH/logs/${SERVER_NAME}.log"#输出启动信息

浙公网安备 33010602011771号