Files
server-deploy/vps-xray/upload.sh
T
2026-08-05 17:12:18 +08:00

44 lines
1.3 KiB
Bash

#!/usr/bin/env bash
# 仅上传服务端所需文件,跳过文档和客户端配置
set -euo pipefail
VPS_IP="${1:-}"
SSH_PORT="${2:-22}"
if [[ -z "$VPS_IP" ]]; then
echo "用法: bash upload.sh <VPS_IP> [SSH_PORT]"
echo "示例: bash upload.sh 1.2.3.4 # 使用默认端口 22"
echo "示例: bash upload.sh 1.2.3.4 2222 # 使用自定义端口 2222"
exit 1
fi
if ! [[ "$SSH_PORT" =~ ^[0-9]+$ ]] || (( SSH_PORT < 1 || SSH_PORT > 65535 )); then
echo "错误: 端口必须是 1-65535 之间的数字,当前为 '${SSH_PORT}'"
exit 1
fi
REMOTE_DIR="/opt/vps-xray"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo ">>> 创建远程目录 ${REMOTE_DIR} (端口 ${SSH_PORT})"
ssh -p "${SSH_PORT}" "root@${VPS_IP}" "mkdir -p ${REMOTE_DIR}"
echo ">>> 上传部署文件"
scp -P "${SSH_PORT}" \
"${SCRIPT_DIR}/deploy.sh" \
"${SCRIPT_DIR}/uninstall.sh" \
"${SCRIPT_DIR}/backup.sh" \
"${SCRIPT_DIR}/.env.example" \
"root@${VPS_IP}:${REMOTE_DIR}/"
echo ""
echo "上传完成,文件位于 root@${VPS_IP}:${REMOTE_DIR}"
echo ""
echo "下一步:"
if [[ "$SSH_PORT" == "22" ]]; then
echo " ssh root@${VPS_IP}"
else
echo " ssh -p ${SSH_PORT} root@${VPS_IP}"
fi
echo " cd ${REMOTE_DIR} && bash deploy.sh"