2025-02-24 20:05:20 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# 当前服务器上的文件路径
|
|
|
|
|
|
JAR_FILE="/tmp/AdvisorServer-2.6.7.jar"
|
|
|
|
|
|
|
|
|
|
|
|
# 目标服务器信息(格式:IP地址:端口)
|
|
|
|
|
|
SERVERS=(
|
|
|
|
|
|
"172.26.1.3:22"
|
|
|
|
|
|
"172.26.1.7:22"
|
|
|
|
|
|
"172.26.1.9:22"
|
|
|
|
|
|
"172.26.1.15:22"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
# 目标路径
|
|
|
|
|
|
TARGET_DIR="/home/ubuntu"
|
|
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
# 1. 停止服务所有服务
|
2025-02-24 20:05:20 +08:00
|
|
|
|
for SERVER in "${SERVERS[@]}"; do
|
|
|
|
|
|
# 获取 IP 和端口
|
|
|
|
|
|
IP=$(echo $SERVER | cut -d ':' -f 1)
|
|
|
|
|
|
PORT=$(echo $SERVER | cut -d ':' -f 2)
|
|
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
# 执行 start.sh 脚本
|
|
|
|
|
|
echo "Stopping $START_SCRIPT on $IP"
|
|
|
|
|
|
ssh -p $PORT ubuntu@$IP "sudo systemctl stop advisor-server"
|
2025-02-24 20:05:20 +08:00
|
|
|
|
done
|
|
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
echo "All services stopped."
|
2025-02-24 20:05:20 +08:00
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
# 1. 循环拷贝文件到所有服务器
|
2025-02-24 20:05:20 +08:00
|
|
|
|
for SERVER in "${SERVERS[@]}"; do
|
|
|
|
|
|
# 获取 IP 和端口
|
|
|
|
|
|
IP=$(echo $SERVER | cut -d ':' -f 1)
|
|
|
|
|
|
PORT=$(echo $SERVER | cut -d ':' -f 2)
|
|
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
# 拷贝 JAR 文件到目标服务器
|
|
|
|
|
|
echo "Copying $JAR_FILE to $IP:$TARGET_DIR"
|
|
|
|
|
|
scp -P $PORT $JAR_FILE ubuntu@$IP:$TARGET_DIR
|
2025-02-24 20:05:20 +08:00
|
|
|
|
done
|
|
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
echo "Files copied to all servers."
|
2025-02-24 20:05:20 +08:00
|
|
|
|
|
2025-02-27 11:23:21 +08:00
|
|
|
|
# 3. 启动所有服务
|
2025-02-24 20:05:20 +08:00
|
|
|
|
for SERVER in "${SERVERS[@]}"; do
|
|
|
|
|
|
# 获取 IP 和端口
|
|
|
|
|
|
IP=$(echo $SERVER | cut -d ':' -f 1)
|
|
|
|
|
|
PORT=$(echo $SERVER | cut -d ':' -f 2)
|
|
|
|
|
|
|
|
|
|
|
|
# 执行 start.sh 脚本
|
|
|
|
|
|
echo "Starting $START_SCRIPT on $IP"
|
|
|
|
|
|
ssh -p $PORT ubuntu@$IP "sudo systemctl start advisor-server"
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
echo "All services started."
|
|
|
|
|
|
|
|
|
|
|
|
echo "All tasks completed."
|