|
@@ -0,0 +1,136 @@
|
|
|
+APP_NAME=age_convert.jar
|
|
|
+date=`date`
|
|
|
+usage() {
|
|
|
+ echo "case: sh run.sh [start|stop|restart|status|checkServer]"
|
|
|
+ echo "请类似这样执行 ./*.sh start pro or ./*sh restart pro"
|
|
|
+ exit 1
|
|
|
+}
|
|
|
+
|
|
|
+checkEnv(){
|
|
|
+ if [ -z "${APP_NAME}" ]; then #判断pid是否为空
|
|
|
+ if [[ $1 = 'pro' ]]; then
|
|
|
+ echo "pro config"
|
|
|
+ APP_NAME=720yun_fd_manage_pro.jar
|
|
|
+ elif [[ $1 = 'sit' ]] ; then
|
|
|
+ echo "sit config"
|
|
|
+ APP_NAME=720yun_fd_manage_sit.jar
|
|
|
+ elif [[ $1 = 'devuat' ]] ; then
|
|
|
+ echo "devuat config"
|
|
|
+ APP_NAME=720yun_fd_manage_devuat.jar
|
|
|
+ else
|
|
|
+ echo "没有设置环境"
|
|
|
+ fi
|
|
|
+ # else
|
|
|
+ # echo "已经设置-${APP_NAME}-${APP_DEBUG}"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# 判断当前服务是否已经启动的函数
|
|
|
+is_exist(){
|
|
|
+ checkEnv $1
|
|
|
+ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #根据ps 命令查询当前服务的进程号 赋值给pid"
|
|
|
+ if [ -z "${pid}" ]; then #判断pid是否为空
|
|
|
+ echo "pid 不存在"
|
|
|
+ return 1
|
|
|
+ else
|
|
|
+ echo "pid 存在"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+start(){
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
|
|
|
+ echo "${APP_NAME} running. pid=${pid}"
|
|
|
+ else
|
|
|
+ nohup java -jar $APP_NAME --spring.profiles.active=$1 > logs.log 2>error.log & # 说明pid为空
|
|
|
+ # 执行java -jar 命令启动服务
|
|
|
+ echo "${APP_NAME} started启动"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+stop(){
|
|
|
+ echo "执行 stop 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
|
|
|
+ kill -9 $pid
|
|
|
+ echo "${pid} stopped-停止"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+status(){
|
|
|
+ echo "执行 status 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then
|
|
|
+ echo "${APP_NAME} running-启动. Pid is ${pid}"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+checkServer(){
|
|
|
+ echo "执行 status 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then
|
|
|
+ echo "${APP_NAME} running-正在运行. Pid is ${pid}"
|
|
|
+ echo `date +%Y-%m-%d` `date +%H:%M:%S` ${APP_NAME} "running-正在运行. Pid is ${pid}" >> check.log
|
|
|
+ exit 0
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行,即将重启"
|
|
|
+ echo `date +%Y-%m-%d` `date +%H:%M:%S` ${APP_NAME} "没有运行,即将重启" >> check.log
|
|
|
+ restart $1
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# 重启命令其实就是先执行关闭命令 再执行重启命令
|
|
|
+restart(){
|
|
|
+ echo "执行 restart 方法"
|
|
|
+ checkEnv $1
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
|
|
|
+ kill -9 $pid
|
|
|
+ echo "${pid} stopped-停止"
|
|
|
+ else
|
|
|
+ echo "${APP_NAME} 没有运行"
|
|
|
+ fi
|
|
|
+ sleep 5
|
|
|
+ is_exist
|
|
|
+ if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
|
|
|
+ echo "${APP_NAME} running. pid=${pid}"
|
|
|
+ else
|
|
|
+ nohup java -jar $APP_NAME --spring.profiles.active=$1 > logs.log 2>error.log & # 说明pid为空 执行java -jar 命令启动服务
|
|
|
+ echo "${APP_NAME} started启动"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+# 这里的$1 取的是当前输入命令 的第二个参数 ./start.sh start
|
|
|
+case "$1" in
|
|
|
+ "start")
|
|
|
+ start $2
|
|
|
+ ;;
|
|
|
+ "stop")
|
|
|
+ stop $2
|
|
|
+ ;;
|
|
|
+ "status")
|
|
|
+ status $2
|
|
|
+ ;;
|
|
|
+ "restart")
|
|
|
+ restart $2
|
|
|
+ ;;
|
|
|
+ "checkServer")
|
|
|
+ checkServer $2
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ usage
|
|
|
+ ;;
|
|
|
+esac
|