Files
nexus/wiki/concepts/增量备份.md
2026-04-22 04:03:04 +08:00

2.5 KiB

title, tags, date
title tags date
增量备份
backup
storage
devops
2026-04-26

增量备份 (Incremental Backup)

Definition

增量备份是一种数据保护策略,仅备份自上次备份以来发生变化的数据。与全量备份相比,显著减少备份时间、存储空间和网络带宽需求。

Core Principles

  • 差异检测: 通过比较源端与目标端文件的时间戳、大小或校验和,识别需要备份的变更
  • 链式依赖: 增量备份依赖前一次备份作为基础,恢复时需按顺序还原所有增量链
  • 增量同步: rsync 等工具通过 SSH 传输变更块,实现高效的增量数据传输

Key Mechanisms

rsync Algorithm

rsync 是最常用的增量备份工具,核心机制包括:

  • 快速检测: 通过滑动窗口算法快速定位差异块
  • 增量传输: 仅传输变化的部分,而非整个文件
  • 校验和对比: 使用 MD4/MD5 校验和比较远程与本地文件块

Key Parameters

rsync -azR --delete \
    --exclude="venv/" \
    --exclude="**/__pycache__/" \
    --exclude=".git/" \
    /source/ /destination/
  • -a: 归档模式(保留权限、时间戳、链接等)
  • -z: 压缩传输
  • -R: 使用相对路径
  • --delete: 删除目标端多余文件(镜像同步)
  • Disaster-Recovery — 增量备份是灾备策略的核心组件
  • RTO — 恢复时间目标,受备份频率影响
  • RPO — 恢复点目标,由增量备份间隔决定
  • rsync 增量同步: 通过 SSH 或直接访问实现本地/远程增量备份
  • 快照备份: 通过 LVM/ZFS 快照实现接近零 RPO 的增量保护
  • 链式增量: 定期创建全量备份,中间插入增量备份,形成备份链

Best Practices

  1. 定期全量 + 日常增量: 每周/每月创建全量备份,中间每日增量
  2. 校验恢复测试: 定期验证备份可还原性
  3. 差异对比: 备份前后对比文件数量和大小
  4. 错误容错: rsync 错误码 0/23/24 均视为成功(权限/文件变化问题属正常)

Example: rsync 备份脚本片段

rsync -azR --delete \
    --exclude="venv/" \
    --exclude=".git/" \
    /var/lib/docker/volumes/ \
    /etc/docker/ \
    /mnt/nas_backup/docker_backups/$(date +%Y-%m-%d)/

See Also