#!/bin/bash # ============================================================================= # 步骤 1:从原数据机拉取所有文件到迁移目标机(全量版) # 在【迁移目标机】上执行本脚本 # 配置项请修改 migration_config.sh # ============================================================================= SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" source "${SCRIPT_DIR}/migration_config.sh" set -e echo "==========================================" echo " kgrag 文件迁移脚本 - 步骤 1(全量)" echo " 原数据机: ${SRC_SERVER}:${SRC_APP_DIR}" echo " 目标代码目录: ${DST_CODE_DIR}" echo " 目标文件目录: ${DST_FILES_DIR}" echo "==========================================" mkdir -p "${DST_CODE_DIR}" mkdir -p "${DST_FILES_DIR}/uploads_v1" mkdir -p "${DST_CODE_DIR}/kg_output" mkdir -p "${DST_CODE_DIR}/fault_wenjian" echo "" echo "[1/6] 迁移原始文档目录 → ${DST_FILES_DIR}/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ --exclude="uploads_v1/" \ "${SRC_SERVER}:${SRC_APP_DIR}/files/" \ "${DST_FILES_DIR}/" echo "" echo "[2/6] 迁移高亮注释 PDF → ${DST_FILES_DIR}/uploads_v1/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ "${SRC_SERVER}:${SRC_APP_DIR}/files/uploads_v1/" \ "${DST_FILES_DIR}/uploads_v1/" echo "" echo "[3/6] 迁移抽取结果 JSON → ${DST_CODE_DIR}/kg_output/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ "${SRC_SERVER}:${SRC_APP_DIR}/kg_output/" \ "${DST_CODE_DIR}/kg_output/" echo "" echo "[4/6] 迁移 kg_snapshot.json → ${DST_CODE_DIR}/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ "${SRC_SERVER}:${SRC_APP_DIR}/kg_snapshot.json" \ "${DST_CODE_DIR}/kg_snapshot.json" echo "" echo "[5/6] 迁移 fault_wenjian/ → ${DST_CODE_DIR}/fault_wenjian/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ "${SRC_SERVER}:${SRC_APP_DIR}/fault_wenjian/" \ "${DST_CODE_DIR}/fault_wenjian/" echo "" echo "[6/6] 迁移代码文件 → ${DST_CODE_DIR}/ ..." rsync -avz --progress ${RSYNC_EXTRA} \ -e "ssh -p ${SRC_SSH_PORT}" \ --exclude="__pycache__/" \ --exclude="*.pyc" \ --exclude="*.log" \ --exclude="files/" \ --exclude="kg_output/" \ --exclude="kg_snapshot.json" \ --exclude="fault_wenjian/" \ --exclude="mineru_output/" \ "${SRC_SERVER}:${SRC_APP_DIR}/" \ "${DST_CODE_DIR}/" echo "" echo "==========================================" echo " 文件迁移完成!" echo " 下一步:执行 bash 02_load_neo4j.sh" echo "=========================================="