数据库备份逻辑容错机制优化
This commit is contained in:
@@ -396,13 +396,53 @@ do_deploy() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# ----- 准备部署目录 -----
|
# ----- 准备部署目录 -----
|
||||||
print_step "准备部署目录..."
|
print_step "准备部署目录..."
|
||||||
mkdir -p "$DEPLOY_DIR"
|
mkdir -p "$DEPLOY_DIR"
|
||||||
mkdir -p "$DATA_DIR"
|
mkdir -p "$DATA_DIR"
|
||||||
|
|
||||||
# ----- 构建 Docker 镜像 -----
|
# ----- 检测并迁移旧版本文件(从根目录迁移到 data/)-----
|
||||||
print_step "构建 Docker 镜像..."
|
print_step "检测旧版本文件..."
|
||||||
docker build --no-cache \
|
|
||||||
|
OLD_DB="${DEPLOY_DIR}/frpc-console.db"
|
||||||
|
OLD_TOML="${DEPLOY_DIR}/frpc.toml"
|
||||||
|
OLD_LOG="${DEPLOY_DIR}/frpc.log"
|
||||||
|
OLD_PID="${DEPLOY_DIR}/frpc.pid"
|
||||||
|
OLD_VERSION="${DEPLOY_DIR}/version.ini"
|
||||||
|
NEW_DB="${DATA_DIR}/frpc-console.db"
|
||||||
|
|
||||||
|
# 如果根目录有旧数据库文件,但 data/ 目录没有,执行迁移
|
||||||
|
if [ -f "$OLD_DB" ] && [ ! -f "$NEW_DB" ]; then
|
||||||
|
print_warn "检测到旧版本数据库文件在根目录,将迁移到 data/ 子目录"
|
||||||
|
|
||||||
|
# 备份旧文件
|
||||||
|
BACKUP_OLD_DIR="${DEPLOY_DIR}/.old_backup_$(date +%Y%m%d_%H%M%S)"
|
||||||
|
mkdir -p "$BACKUP_OLD_DIR"
|
||||||
|
|
||||||
|
for file in frpc-console.db frpc.toml frpc.log frpc.pid version.ini; do
|
||||||
|
if [ -f "${DEPLOY_DIR}/${file}" ]; then
|
||||||
|
cp "${DEPLOY_DIR}/${file}" "${BACKUP_OLD_DIR}/" 2>/dev/null || true
|
||||||
|
print_info " 已备份: ${file}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 复制文件到 data/ 目录
|
||||||
|
for file in frpc-console.db frpc.toml frpc.log frpc.pid version.ini; do
|
||||||
|
if [ -f "${DEPLOY_DIR}/${file}" ]; then
|
||||||
|
cp "${DEPLOY_DIR}/${file}" "${DATA_DIR}/" 2>/dev/null || true
|
||||||
|
print_info " 已迁移: ${file} → data/"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
print_success "旧文件已迁移到 data/ 目录"
|
||||||
|
print_info "旧文件备份位置: ${BACKUP_OLD_DIR}"
|
||||||
|
print_info "确认服务正常后,可手动删除备份目录"
|
||||||
|
else
|
||||||
|
print_info "未检测到需要迁移的旧文件"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ----- 构建 Docker 镜像 -----
|
||||||
|
print_step "构建 Docker 镜像..."
|
||||||
|
docker build --no-cache \
|
||||||
-t "${IMAGE_NAME}:${IMAGE_TAG}" \
|
-t "${IMAGE_NAME}:${IMAGE_TAG}" \
|
||||||
.
|
.
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user