添加更加完善的启动脚本

This commit is contained in:
stivepeim
2022-02-11 10:48:50 +08:00
parent c8daa58b78
commit 26f0c0d48e
4 changed files with 120 additions and 43 deletions

View File

@@ -5,10 +5,9 @@ startTime=`date +'%Y-%m-%d %H:%M:%S'`
#接口项目站点路径(目录按照各自配置)
APP_PATH=/www/wwwroot/api.java.crmeb.net
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
#jar包文件名称
APP_NAME=$APP_PATH/Crmeb.jar
APP_NAME=$APP_PATH/Crmeb-admin.jar
#日志文件名称
LOG_FILE=$APP_PATH/crmeb_out.log
@@ -48,7 +47,7 @@ if test -e $APP_NAME;then
#通过检测日志来判断
while [ -f $LOG_FILE ]
do
success=`grep "Started CrmebApplication in " $LOG_FILE`
success=`grep "Started CrmebAdminApplication in " $LOG_FILE`
if [[ "$success" != "" ]]
then
# echo "Crmeb start ........."
@@ -84,43 +83,9 @@ echo "本次运行时间: "$total"s"
echo "当前时间:"$endTime
#消息推送到企业微信群
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4f7df494-cece-49c2-8e04-60610c937b4a' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "Api项目部署成功\n 耗时:'$total's \n 当前时间:'"$endTime"'",
"mentioned_list":["@all"]
}
}'
##实时查看启动日志
# #tail -f $LOG_FILE
# pid1=;
# while [[ $pid1 = "" ]]
# do
# sleep 5
# pid1=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
# done
#
# sleep 5
# echo "发布成功!"
#
# #消息推送到企业微信群
# curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4f7df494-cece-49c2-8e04-60610c937b4a' \
# -H 'Content-Type: application/json' \
# -d '
# {
# "msgtype": "text",
# "text": {
# "content": "Api项目部署成功",
# "mentioned_list":["@all"]
# }
# }'
else
echo '$APP_NAME 文件不存在,请检查。'
fi
#在 $APP_NAME 同级目录下运行 ./start.sh 命令即可启动项目。
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。

91
crmeb/shell/startFront.sh Executable file
View File

@@ -0,0 +1,91 @@
#!/bin/bash
#开始时间 时间戳
startTime=`date +'%Y-%m-%d %H:%M:%S'`
#接口项目站点路径(目录按照各自配置)
APP_PATH=/www/wwwroot/api.java.crmeb.net
#jar包文件名称
APP_NAME=$APP_PATH/Crmeb-front.jar
#日志文件名称
LOG_FILE=$APP_PATH/crmeb_out.log
#启动环境 # 如果需要配置数据和redis请在 application-prod.yml中修改, 用jar命令修改即可
APP_YML=--spring.profiles.active=prod
#数据库配置
rm -rf $LOG_FILE
echo "开始停止 Crmeb 项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "Crmeb 项目进程进程终止成功"
fi
sleep 2
#判断jar包文件是否存在如果存在启动jar包并时时查看启动日志
if test -e $APP_NAME;then
echo '文件存在,开始启动此程序...'
# 启动jar包指向日志文件2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
nohup java -jar $APP_NAME $APP_YML > crmeb_out.log 2>&1 &
echo "正在发布中,请稍后......"
sleep 10s
#通过检测日志来判断
while [ -f $LOG_FILE ]
do
success=`grep "Started CrmebFrontApplication in " $LOG_FILE`
if [[ "$success" != "" ]]
then
# echo "Crmeb start ........."
break
else
# echo "Crmeb Running ......."
sleep 1s
fi
# echo "开始检测启动失败标记"
fail=`grep "Fail" $LOG_FILE`
if [[ "$fail" != "" ]]
then
echo "项目启动失败"
tail -f $LOG_FILE
break
else
# echo "Crmeb Running ......."
sleep 1s
fi
done
echo "Crmeb Started Success"
endTime=`date +'%Y-%m-%d %H:%M:%S'`
startSecond=$(date --date="$startTime" +%s);
endSecond=$(date --date="$endTime" +%s);
total=$((endSecond-startSecond))
# shellcheck disable=SC2027
echo "本次运行时间: "$total"s"
# shellcheck disable=SC2086
echo "当前时间:"$endTime
else
echo '$APP_NAME 文件不存在,请检查。'
fi
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。

View File

@@ -1,11 +1,11 @@
#接口项目站点路径(目录按照各自配置)
APP_PATH=/www/wwwroot/api.dev.java.crmeb.net/
APP_PATH=/www/wwwroot/api.java.crmeb.net/
#jar包文件名称
APP_NAME=$APP_PATH/Crmeb.jar
APP_NAME=$APP_PATH/Crmeb-admin.jar
echo "开始停止 Crmeb 项目进程"
echo "开始停止 Crmeb-admin 项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
@@ -15,7 +15,7 @@ echo "pid: $pid "
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "Crmeb 项目进程进程终止成功"
echo "Crmeb-admin 项目进程进程终止成功"
else
echo "未找到对应服务"
fi

21
crmeb/shell/stopFront.sh Normal file
View File

@@ -0,0 +1,21 @@
#接口项目站点路径(目录按照各自配置)
APP_PATH=/www/wwwroot/api.java.crmeb.net/
#jar包文件名称
APP_NAME=$APP_PATH/Crmeb-front.jar
echo "开始停止 Crmeb-admin 项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
echo "pid: $pid "
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "Crmeb-admin 项目进程进程终止成功"
else
echo "未找到对应服务"
fi