48 lines
1.1 KiB
Bash
48 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
FILE_NAME="syAdmin.zip"
|
|||
|
|
|
|||
|
|
# 当前服务器上的文件路径
|
|||
|
|
LOCAL_FILE="/tmp/$FILE_NAME"
|
|||
|
|
|
|||
|
|
# 目标服务器信息(格式:IP地址:端口)
|
|||
|
|
SERVERS=(
|
|||
|
|
"172.26.1.9:22"
|
|||
|
|
"172.26.1.15:22"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# 目标路径
|
|||
|
|
TARGET_DIR="/home/ubuntu"
|
|||
|
|
|
|||
|
|
# 目标文件路径
|
|||
|
|
TARGET_FILE="$TARGET_DIR/$FILE_NAME"
|
|||
|
|
|
|||
|
|
# 目标解压路径
|
|||
|
|
TARGET_EXTRACT_DIR="/usr/local/nginx/html/syAdmin"
|
|||
|
|
|
|||
|
|
# 1. 删除所有服务器上原始包,并拷贝新文件
|
|||
|
|
for SERVER in "${SERVERS[@]}"; do
|
|||
|
|
# 获取 IP 和端口
|
|||
|
|
IP=$(echo $SERVER | cut -d ':' -f 1)
|
|||
|
|
PORT=$(echo $SERVER | cut -d ':' -f 2)
|
|||
|
|
|
|||
|
|
# 删除原始包
|
|||
|
|
echo "Deleting $FILE_NAME on $IP"
|
|||
|
|
ssh -p $PORT ubuntu@$IP "rm -rf $TARGET_DIR/$FILE_NAME"
|
|||
|
|
|
|||
|
|
# 拷贝新文件
|
|||
|
|
echo "Copying $LOCAL_FILE to $IP:$TARGET_DIR"
|
|||
|
|
scp -P $PORT $LOCAL_FILE ubuntu@$IP:$TARGET_DIR
|
|||
|
|
|
|||
|
|
# 删除原解压路径
|
|||
|
|
echo "Deleting $TARGET_EXTRACT_DIR on $IP"
|
|||
|
|
ssh -p $PORT ubuntu@$IP "sudo rm -rf $TARGET_EXTRACT_DIR"
|
|||
|
|
|
|||
|
|
# 解压文件
|
|||
|
|
echo "Unzipping $FILE_NAME on $IP"
|
|||
|
|
ssh -p $PORT ubuntu@$IP "sudo unzip $TARGET_FILE -d $TARGET_EXTRACT_DIR"
|
|||
|
|
done
|
|||
|
|
|
|||
|
|
echo "All tasks completed."
|
|||
|
|
|