700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > shell脚本控制jar包启停

shell脚本控制jar包启停

时间:2020-12-05 17:52:57

相关推荐

shell脚本控制jar包启停

#!/bin/bash# vim:sw=4:ts=4:et<<INFOAUTHOR:运维@小兵DATE:-09-09DESCRIBE:控制jar包启停SYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eWORKDIR=$(cd `dirname $0`;pwd) #脚本所在路径SERVICE_PORT=12345#java服务监听端口SERVICE_USER=admin#启动jar包用户JAVA_OPT="-Xmx3072m -Xms3072m -XX:MaxMetaspaceSize=1024M -XX:MetaspaceSize=1024M -XX:MaxMetaspaceFreeRatio=95 -Dfile.encoding=utf-8"JAR_NAME=devops.jar #jar包名字#检查环境Check_Env(){echo "[INFO] Begin Check_Env..."#检查命令是否存在for cmd_bin in javadoif ! command -v ${cmd_bin} &> /dev/null;thenecho "[ERROR] ${cmd_bin} command Not Exist" && exit 1fidoneecho "[INFO] Check_Env Success"}#停止服务Stop_Svc(){echo "INFO:Begin Stop Service..."pid=$(ps -ef | grep java | grep -v grep | grep -w "${JAR_NAME}" | grep ${SERVICE_USER} | awk '{print $2}')if [[ -n ${pid} ]];thenfor pid in $(echo ${pid})doecho "INFO:kill pid ${pid}"kill ${pid}donesleep 5elseecho "WARN:Service Is Stop"fi}#启动服务Start_Svc(){if ss -nutlp | egrep -w ":${SERVICE_PORT}\b" &> /dev/null;thenecho "WARN:Service Is Running" && exit 0fiecho "INFO:Begin Start Service,Please Wait..."[[ ! -f ${WORKDIR}/${JAR_NAME} ]] && echo "ERROR:${WORKDIR}/${JAR_NAME} Not Found" && exit 1cd ${WORKDIR}nohup java -Xbootclasspath/a:./config/ ${JAVA_OPT} -jar ${JAR_NAME} --server.port=${SERVICE_PORT} > log.out 2>&1 &local num=0while [[ ${num} -lt 10 ]]#等待服务启动时间,5*10秒dosleep 5if ss -nutlp | egrep -w ":${SERVICE_PORT}\b" &> /dev/null;thenecho "INFO:Service Start Success" && exit 0elsenum=$(echo $[num+=1])fidoneecho "ERROR:Service Start Fail" && exit 1}######################主程序######################[[ $UID -eq 0 ]] && echo "ERROR:Not Allow root Excute,Please Use ${SERVICE_USER} user excute......" && exit 1[[ $# -ne 1 ]] && echo "ERROR:Invalid Param!!! eg:bash $0 (start|stop|restart)" && exit 1Check_Envcase $1 instart)Start_Svc;;stop)Stop_Svc;;restart)Stop_SvcStart_Svc;;*)echo "ERROR:Invalid Param!!! eg:bash $0 (start|stop|restart)" && exit 1esac

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。