温馨提示×

Linux分卷如何进行数据备份

小樊
31
2025-12-23 21:15:36
栏目: 智能运维

Linux分卷备份实用指南

一、常用方案与适用场景

  • tar + split:对目录/文件做归档,再用 split 按大小切分,适合常规文件级备份与跨介质传输(U盘、网盘等)。
  • dump/restore:面向ext2/3/4 等文件系统的分区级备份,支持全量/增量(0–9级)分卷,适合系统分区与挂载点级别备份。
  • rsync:文件级增量同步,适合日常目录镜像与快速恢复;本身不分卷,可配合 split 或网络传输使用。
  • dd:块级镜像,适合整盘/分区克隆;不分卷,可管道压缩或配合 split 切分。

二、tar加split实现分卷备份与还原

  • 备份(示例将 /home 归档并用 split 切成每卷 500MB,生成 x00、x01…):
    sudo tar czvf - /home | split -d -b 500M - backup_home.tar.gz.
    
  • 还原(先合并再解压):
    cat backup_home.tar.gz.* | sudo tar xzvf - -C /restore/path
    
  • 说明:
    • 使用 -z(gzip)可减小体积;如更在意压缩率可改用 -j(bzip2,更慢)。
    • 目标介质空间不足或需跨介质传输时,分卷非常实用;还原时必须按序合并所有分卷。

三、dump与restore进行分卷与增量备份

  • 安装(若系统未自带):
    # RHEL/CentOS
    sudo yum -y install dump
    sudo yum -y install restore
    
  • 全量备份(示例对 /boot 分区做层级 0 备份,分卷大小 500MB,bzip2 压缩):
    sudo dump -0uj -f - /boot | split -d -b 500M - /opt/boot_full_0.bz2.
    
  • 增量备份(示例层级 1,仅备份自上次备份后变更的数据):
    sudo dump -1uj -f - /boot | split -d -b 500M - /opt/boot_incr_1.bz2.
    
  • 查看/校验备份记录:
    dump -W
    cat /etc/dumpdates
    
  • 恢复(按层级从低到高依次恢复,先建好挂载点并进入该目录):
    sudo mkdir -p /restore/boot
    cd /restore/boot
    cat /opt/boot_full_0.bz2.* | sudo restore -r -f -
    cat /opt/boot_incr_1.bz2.* | sudo restore -r -f -
    
  • 要点:
    • 增量仅对分区有效,对普通目录/文件不支持增量(只能做层级 0 的全量)。
    • 分卷通过给 dump 的 -f -(输出到 stdout)加管道给 split 实现;恢复时先合并再交给 restore -r

四、实用建议与注意事项

  • 介质与命名:分卷命名建议包含项目/路径、日期、层级、序号,如:boot_full_20251223_0.bz2.00;便于追溯与校验。
  • 校验完整性:分卷传输后可用 sha256sum 校验;还原前可用 restore -t -f 预览内容,或用 restore -C -f 对比现有文件差异。
  • 选择策略:目录/文件级日常备份优先 tar+splitrsync;需要增量文件系统级一致性时选 dump/restore;整盘克隆用 dd

0