Files
niumalll/up_website.sh

48 lines
1.9 KiB
Bash
Raw Normal View History

#!/bin/bash
# 配置参数
LOCAL_DIR="/Users/aiotagro/vue/niumall/website"
REMOTE_USER="root"
REMOTE_HOST="49.51.70.206"
REMOTE_DIR="/data/website/niumall"
REMOTE_PASSWORD="Aiotjkl$7kl6756"
# 检查本地目录是否存在
if [ ! -d "$LOCAL_DIR" ]; then
echo "错误:本地目录 $LOCAL_DIR 不存在!"
exit 1
fi
# 使用标准 rsync 命令(需要手动输入密码)
echo "开始上传文件到远程服务器..."
echo "注意:请在提示时手动输入远程服务器密码:$REMOTE_PASSWORD"
echo "\n正在连接到 $REMOTE_USER@$REMOTE_HOST..."
# 使用基本的rsync命令让用户手动输入密码
rsync -avz --progress --delete "$LOCAL_DIR/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
if [ $? -eq 0 ]; then
echo "上传完成!"
echo "\n======================================="
echo "提示为了避免每次输入密码建议设置SSH密钥认证"
echo "======================================="
echo "\n完整的SSH密钥配置步骤"
echo "\n1. 生成SSH密钥对按提示操作默认选项即可"
echo " ssh-keygen -t rsa -b 4096"
echo "\n2. 生成完成后,将公钥复制到远程服务器:"
echo " ssh-copy-id -i ~/.ssh/id_rsa.pub $REMOTE_USER@$REMOTE_HOST"
echo " (如果提示'No identities found',请使用上面的完整命令)"
echo "\n3. 测试免密码登录:"
echo " ssh $REMOTE_USER@$REMOTE_HOST"
echo "\n配置完成后后续运行此脚本将不再需要输入密码"
else
echo "上传失败!请检查网络连接、服务器配置和密码是否正确。"
echo "\n可能的解决方案"
echo "1. 确保远程服务器IP地址正确$REMOTE_HOST"
echo "2. 手动创建远程目录(如果不存在):"
echo " ssh $REMOTE_USER@$REMOTE_HOST 'mkdir -p $REMOTE_DIR'"
echo "3. 确保root用户有权限访问该目录"
echo "4. 检查防火墙设置确保SSH端口22已开放"
exit 1
fi