温馨提示×

ubuntu分卷备份策略

小樊
32
2025-12-12 06:57:48
栏目: 智能运维

Ubuntu 分卷备份策略

一 策略总览

  • 目标:在保证一致性的前提下,将备份文件切分为固定大小,便于传输、盘片/网盘限制与校验。
  • 推荐组合:
    • 文件系统级:使用 tar + split 做分卷归档,适合系统/目录级备份与迁移。
    • 块设备级:使用 dd + split 做整盘/分区镜像分卷,适合裸盘克隆与快速回滚。
    • 一致性:对数据库或活跃目录,先停写或用 LVM 快照再备份;Docker 数据卷用临时容器打包,避免直接拷内部目录。
    • 验证与还原:每次备份后做完整性校验(如 tar -tzf),还原时按“合并→解压/写回”的顺序执行。

二 常用分卷方法

  • 文件系统级分卷(tar + split)

    • 分卷打包(每卷 900MB,便于 U 盘/网盘):
      sudo tar czvf - /home /var | split -b 900M - backup_$(date +%F).tar.gz.
      
    • 合并分卷:
      cat backup_*.tar.gz.* > backup_$(date +%F).tar.gz
      
    • 解压验证:
      tar tzf backup_$(date +%F).tar.gz    # 校验
      tar xzvf backup_$(date +%F).tar.gz -C /restore/path
      
    • 说明:适合系统或目录级备份;排除虚拟文件系统目录(如 /proc、/sys、/dev、/run、/tmp、/lost+found、/mnt、/media)以避免无效数据与变动内容。
  • 块设备级分卷(dd + split)

    • 整盘镜像分卷(每卷 4GB):
      sudo dd if=/dev/sda bs=4M status=progress | split -b 4G - system_backup.img.
      
    • 压缩分卷(可选,节省空间):
      sudo dd if=/dev/sda bs=4M status=progress | gzip | split -b 4G - system_backup.img.gz.
      
    • 合并与恢复:
      cat system_backup.img.* > system_backup.img
      sudo dd if=system_backup.img of=/dev/sda bs=4M status=progress
      
      # 若采用压缩分卷:
      cat system_backup.img.gz.* | gunzip | sudo dd of=/dev/sda bs=4M status=progress
      
    • 说明:适合全盘/分区克隆;注意目标盘容量需不小于源盘,操作具有破坏性,务必核对设备名。

三 一致性保障与场景化建议

  • 数据库与关键业务目录
    • 建议先停写或用 LVM 快照获取一致性视图,再对快照做 tar 分卷;恢复后校验数据一致性。LVM 快照创建与挂载流程可参考标准 LVM 操作。
  • Docker 数据卷
    • 避免直接复制 /var/lib/docker/volumes/,应使用临时容器挂载卷并打包:
      sudo docker run --rm \
        -v mysql_data:/source \
        -v /backup/volumes:/dest \
        alpine sh -c "tar -zcvf - -C /source . | pv -s \$(du -sb /source | awk '{print \$1}') > /dest/mysql_data_$(date +%F).tar.gz"
      
    • 如需进度显示,安装 pv;多卷可批量脚本化执行。

四 自动化与验证

  • 备份后校验
    • 归档校验:tar -tzf 检查是否能列出内容;镜像校验可用 sha256sum 生成校验值并留存。
  • 还原要点
    • 文件系统级:先挂载目标分区到 /mnt,再 tar xzvf 到 /mnt;必要时重建排除目录(如 /proc、/sys、/dev、/run、/tmp),并使用 grub-install 与 update-grub 修复引导。
    • 块设备级:按“合并→dd 写回”的顺序恢复到目标盘,确认设备名无误再执行。
  • 计划任务与工具
    • 可用 cron 定时执行分卷备份脚本;桌面环境可用 Deja Dup 做本地/远程备份,服务器可用 rsync 做增量同步,二者可与分卷归档结合使用。

0