启动脚本
#!/bin/bash
NAME=$1
#开始时间 时间戳
startTime=`date +'%Y-%m-%d %H:%M:%S'`
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/mall
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
#jar包文件名称
APP_NAME=mall-$NAME-1.0-SNAPSHOT.jar
#app全路径
APP_FULL_NAME=$APP_PATH/$APP_NAME
#日志文件名称
LOG_FILE=$APP_PATH/logs/$NAME.log
#启动环境 # 如果需要配置数据和redis,请在 application-prod.yml中修改, 用jar命令修改即可
APP_YML=--spring.profiles.active=prod
#数据库配置
rm -rf $LOG_FILE
echo "开始停止项目进程"
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "项目进程进程终止成功"
fi
sleep 2
if test -e $APP_NAME;then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
nohup java -jar $APP_FULL_NAME $APP_YML > $LOG_FILE 2>&1 &
echo "正在发布中,请稍后......"
sleep 10s
#通过检测日志来判断
while [ -f $LOG_FILE ]
do
success=`grep "Started MallPortalApplication 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 "Started Success"
else
echo '$APP_NAME 文件不存在,请检查。'
fi
停止脚本
#!/bin/bash
NAME=$1
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/mall
#jar包文件名称
APP_NAME=mall-$NAME-1.0-SNAPSHOT.jar
APP_FULL_NAME=$APP_PATH/$APP_NAME
echo "开始停止项目进程"
#查询进程,并杀掉当前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 "项目进程进程终止成功"
else
echo "未找到对应服务"
fi