diff --git a/scripts/upload.sh b/scripts/upload.sh index 1e55140..041c673 100755 --- a/scripts/upload.sh +++ b/scripts/upload.sh @@ -40,4 +40,16 @@ else fi echo "上传到 ${SERVER} (${REMOTE_HOST}) ..." + +SSH_OPTS="-i $KEY -o StrictHostKeyChecking=no" + +# 上传前先删除远程同名目录,避免 scp 嵌套 +for item in "${PATHS[@]}"; do + if [[ -d "$item" ]]; then + remote_item="${REMOTE_DIR}${item#./}" + echo " 删除远程目录: ${REMOTE_HOST}:${remote_item}" + ssh $SSH_OPTS "$REMOTE_HOST" "rm -rf '${remote_item}'" + fi +done + scp -i "$KEY" -r "${PATHS[@]}" "$REMOTE"