凡事都在事上磨,这样才能精进,成长进步提高! ------ 博客园首页

spring 项目 jar 方式部署情况的 部署脚本

#!/bin/sh
## java env
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_101
export JRE_HOME=$JAVA_HOME/jre

API_NAME=api
JAR_NAME=API_NAME\.jar #PID  代表是PID文件 PID=API_NAME\.pid

#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}

#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep JAR_NAME|grep -v grep|awk '{print $2}' `   #如果不存在返回1,存在返回0        if [ -z "{pid}" ]; then
return 1
else
return 0
fi
}

#启动方法
start(){
is_exist
if [ ?eq"0"];thenecho">>>{JAR_NAME} is already running PID=pid<<<"elsenohupJRE_HOME/bin/java -Xms256m -Xmx512m -jar JAR_NAME >/dev/null 2>&1 &     echo! > PIDecho">>>startJAR_NAME successed PID=$! <<<"
fi
}

#停止方法
stop(){
#is_exist
pidf=(catPID)
#echo "pidf"echo">>>apiPID=pidf begin kill pidf<<<"killpidf
rm -rf PIDsleep2isexistif[? -eq "0" ]; then
echo ">>> api 2 PID = pidbeginkill9pid <<<"
kill -9 pidsleep2echo">>>JAR_NAME process stopped <<<"
else
echo ">>> ${JAR_NAME} is not running <<<"
fi
}

#输出运行状态
status(){
is_exist
if [ ?eq"0"];thenecho">>>{JAR_NAME} is running PID is pid<<<"elseecho">>>{JAR_NAME} is not running <<<"
fi
}

#重启
restart(){
stop
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
exit 0

posted @   追风fc  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-06-28 SpringBoot配置Druid数据库连接池
2019-06-28 深度剖析 MySQL 事务隔离
2019-06-28 Java JDK动态代理
点击右上角即可分享
微信分享提示