---
sidebar_position: 1
title: 备份类型
description: 文件、MySQL、PostgreSQL、SQLite 和 SAP HANA — 各自的能力与配置说明。
---

# 备份类型

BackupX 支持五种内置备份类型，类型决定了用哪个 runner 执行。

当任务路由到远程 Agent 时，源路径和外部工具都会在该 Agent 主机上解析。多存储目标上传仍会逐目标记录结果；只要至少一个目标上传成功，备份记录即为成功，详情中的目标结果表会展示部分失败。

## 文件 / 目录

文件任务提供三种备份模式：

- **全量归档** — 每次生成一份可独立使用的 tar 产物
- **差异归档** — 只保存相对当前全量基线的变化，并按周期刷新全量基线
- **CDC 去重仓库** — 按稳定的 512 KiB / 1 MiB / 4 MiB 内容边界切块，将新块合并到不可变的 32 MiB pack，每次运行只新增一份小型快照清单

CDC 仓库会在不同文件、不同快照之间复用相同内容。完整恢复、选择性恢复、完整性校验、下载为 tar、保留策略和垃圾回收都通过仓库索引定位分块。压缩与加密按块执行；启用加密时使用带密钥的块 ID，不暴露明文哈希。

当前仓库索引采用单写者模型，因此 CDC 模式仅在 Master 本机执行。如需保存多份完整仓库，请在任务中直接多选主存储目标。对象级副本复制会被禁用，因为只有快照清单、没有共享 pack 与索引并不是完整备份。

文件任务的通用选项：

- **源路径** 支持多个（UI 中每行一个）
- **排除模式** 支持 gitignore 风格的通配符
- 可选跟随符号链接、保留权限
- 全量与差异模式输出 `.tar`、`.tar.gz` 或 `.tar.zst`

## MySQL

底层使用 `mysqldump`，需要执行任务的主机（Master 或 Agent）的 `$PATH` 中有 `mysqldump`。

- **主机 / 端口 / 用户 / 密码 / 数据库** — 支持多库（英文逗号分隔）
- 输出：`.sql` 或 `.sql.gz`
- 默认参数：`--single-transaction --routines --triggers --events`

## PostgreSQL

底层使用 `pg_dump`，连接字段与 MySQL 一致加数据库名。

## SQLite

直接复制数据库文件（使用一致性快照），无需外部工具。

## SAP HANA

支持两种模式 — 详见 [SAP HANA](./sap-hana) 专题页。

## 删除行为

删除备份任务时，BackupX 会从所有存储目标上移除备份产物，但保留备份记录以供审计。删除任务同时拆除其 Cron 定时调度。
