背景

一些小型项目未上k8s,直接在云服务器上部署,经常手动部署jar包,现记录常用shell脚本,里面都有注释,主要是重启服务。

#!/bin/bash

# 定义应用程序名称和路径
JAR_NAME="demo-0.0.1.jar"
JAR_PATH="/opt/data/$JAR_NAME"

# 输出当前正在运行的进程
echo "正在运行的进程:"
ps aux | grep $JAR_NAME | grep -v grep

# 停止已经运行的进程
echo "停止进程:"
ps aux | grep $JAR_NAME | grep -v grep | awk '{print $2}' | while read pid
do
  echo "停止进程 $pid"
  kill -9 $pid
done

sleep 10

# 检查进程是否停止完全
while ps aux | grep $JAR_NAME | grep -v grep >/dev/null;
do
    echo "等待进程停止..."
done

# 启动Java程序
echo "启动进程..."
nohup java -jar $JAR_PATH --server.port=80 --spring.config.location=/opt/data/application.yml > /dev/null 2>&1 &

# 输出最新启动的进程号
echo "最新启动的进程号:"
ps aux | grep $JAR_NAME | grep -v grep | awk '{print $2}'

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐