|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
# 设置远程服务器信息
|
|
|
REMOTE_USER="root" # 远程服务器用户名,根据你的实际情况修改
|
|
|
-REMOTE_HOST="111.230.193.88" # 远程服务器地址
|
|
|
+REMOTE_HOST="129.204.227.215" # 远程服务器地址
|
|
|
REMOTE_BASE_DIR="/home/software/fhzx" # 远程服务器上的部署目录,根据你的目录结构修改
|
|
|
|
|
|
# 本地 JAR 包路径 -- 根据你提供的目录结构修改
|
|
@@ -25,7 +25,21 @@ check_local_file "$LOCAL_FS_USER_APP_JAR"
|
|
|
# 停止远程服务器上可能正在运行的旧版本(假设进程名与 JAR 包名相同)
|
|
|
stop_remote_app() {
|
|
|
local app_name=$1
|
|
|
- ssh "$REMOTE_USER@$REMOTE_HOST" "pkill -f $app_name || true"
|
|
|
+ local remote_dir=$2
|
|
|
+ local full_path="$REMOTE_BASE_DIR/$remote_dir/$app_name.jar"
|
|
|
+
|
|
|
+ echo "Stopping $app_name in $remote_dir..."
|
|
|
+
|
|
|
+ # 获取运行该JAR包的进程ID
|
|
|
+ local pid=$(ssh "$REMOTE_USER@$REMOTE_HOST" "ps -ef | grep '$full_path' | grep -v grep | awk '{print \$2}'")
|
|
|
+
|
|
|
+ if [ -n "$pid" ]; then
|
|
|
+ echo "Found process ID: $pid for $app_name, stopping it..."
|
|
|
+ ssh "$REMOTE_USER@$REMOTE_HOST" "kill -15 $pid && sleep 3 && kill -9 $pid 2>/dev/null || true"
|
|
|
+ echo "Process stopped."
|
|
|
+ else
|
|
|
+ echo "No running process found for $app_name."
|
|
|
+ fi
|
|
|
}
|
|
|
|
|
|
# 部署单个 JAR 包
|