#!/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" # 1. 停止服务所有服务 for SERVER in "${SERVERS[@]}"; do # 获取 IP 和端口 IP=$(echo $SERVER | cut -d ':' -f 1) PORT=$(echo $SERVER | cut -d ':' -f 2) # 执行 start.sh 脚本 echo "Stopping $START_SCRIPT on $IP" ssh -p $PORT ubuntu@$IP "sudo systemctl stop advisor-server" done echo "All services stopped." # 1. 循环拷贝文件到所有服务器 for SERVER in "${SERVERS[@]}"; do # 获取 IP 和端口 IP=$(echo $SERVER | cut -d ':' -f 1) PORT=$(echo $SERVER | cut -d ':' -f 2) # 拷贝 JAR 文件到目标服务器 echo "Copying $JAR_FILE to $IP:$TARGET_DIR" scp -P $PORT $JAR_FILE ubuntu@$IP:$TARGET_DIR done echo "Files copied to all servers." # 3. 启动所有服务 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."