springboot重启脚本

187 阅读1分钟

1、创建 sh脚本 touch xxx.sh

2、vim xxx.sh

#!/bin/bash
TODAY_DATE=`date +%Y%m%d`
NOW_TIME=`date +%Y%m%d_%H%M%S`
#jar运用目录
BASE_HOME=/home/xxx/server
#备份目录
BACKUP_HOME=/home/xxx/backup
#更新jar包目录
UPDATE_HOME=/home/xxx/update
#项目名
APP_NAME= ***

backup_jar() {
  mkdir -p $BACKUP_HOME/$TODAY_DATE
  cd $BASE_HOME && cp $APP_NAME.jar $BACKUP_HOME/$TODAY_DATE/$APP_NAME.jar.bak$NOW_TIME
  if [ $? -eq 0 ];then
    echo "$APP_NAME.jar 备份完成"
  else
    echo "备份失败"
  fi
}

copy_jar() {
  cp $UPGRADE_HOME/$APP_NAME.jar $BASE_HOME && echo "jar包复制成功"
}

stop_jar() {
  app_pid=$(ps -ef |grep "$APP_NAME.jar"| grep -v grep |awk '{print $2}')
  echo "停止进程:$app_pid"
  kill -9 $app_pid
  if [ $? -ne 0 ];then
    echo "停止进程失败,应用未启动"
  fi
}

start_jar() {
  source /etc/profile
  cd $BASE_HOME
  echo "启动服务"
  pwd
  ls -l $BASE_HOME/$APP_NAME.jar
  nohup java -Xms1024m -Xmx2048m -jar $APP_NAME.jar --spring.profiles.active=prod >/dev/null 2>&1 &
  echo "启动成功"
}

main() {
  backup_jar
  stop_jar
  sleep 5
  copy_jar
  start_jar
}
main

3、保存

4、给sh赋予可执行权限 chmod +x xxx.sh