43 lines
1.2 KiB
Bash
43 lines
1.2 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}/.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"
|