Debian备份操作指南
术语澄清与总体思路
在 Debian 环境中,大家常说的“Extract”多指对压缩包或归档的“提取”,而备份通常用tar、rsync、dd等工具完成。下面给出基于这些标准工具、可直接落地的备份方案,覆盖全量、增量、系统级与大文件分割等常见场景。
常用备份方法
-
使用 tar 进行全量与增量备份
- 全量备份(gzip):tar -czvf /backup/full_$(date +%F).tar.gz /path/to/source
- 全量备份(bzip2,压缩率更高):tar -cvpjf /backup/full_$(date +%F).tar.bz2 /path/to/source
- 增量备份(基于快照文件):先做一次全量,再执行 tar -czvf /backup/inc_$(date +%F).tar.gz -g /backup/snapshot.snap /path/to/source
- 说明:增量备份依赖快照文件记录上次状态;恢复时应按“先全量、后增量”的顺序执行。
-
使用 rsync 做目录/系统增量同步
- 本地或挂载盘备份:rsync -aAXv --delete / /path/to/backup --exclude={“/dev/“,”/proc/”,“/sys/“,”/tmp/”,“/run/“,”/mnt/”,“/media/*”,“/lost+found”}
- 远程备份(示例):rsync -avz --delete /data/ user@backup.example.com:/backup/data/
- 说明:-aAX 保留权限/ACL/扩展属性,–delete 保持两端一致;适合频繁增量与快速恢复。
-
使用 dd 进行块设备镜像
- 分区镜像:dd if=/dev/sda1 of=/backup/sda1.img bs=4M status=progress
- 还原:dd if=/backup/sda1.img of=/dev/sda1 bs=4M status=progress
- 说明:用于整盘/分区级克隆,要求目标设备容量不小于源;操作前务必确认设备号,避免数据覆盖。
系统级备份与还原要点
- 以 root 身份在单用户或救援环境中执行更安全;从根目录开始备份并排除虚拟/临时文件系统:
- 备份:tar -cvpzf /backup/system_$(date +%F).tgz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found --exclude=/backup.tgz /
- 还原:tar -xvpzf /backup/system_*.tgz -C /
- 还原后若某些目录被排除,需手动重建:mkdir -p /proc /sys /dev /run /mnt /media /lost+found
- 注意:tar 还原为“覆盖式”写入,目标上不存在于备份中的文件不会被删除;操作前确认备份文件与还原路径无误。
大文件分割与传输
- 备份时直接分割(每卷 1GB):tar -czvf - /path/to/source | split -b 1G - /backup/backup.tar.gz.part
- 合并还原:cat /backup/backup.tar.gz.part* | tar -xzvf - -C /dest
- 说明:便于跨介质传输与分发;也可结合网络传输工具进行远程备份。
自动化与远程备份建议
- 使用 Backup Ninja 统一编排备份任务(支持本地/远程、增量、数据库等):
- 安装:aptitude install backupninja
- 配置:ninjahelper 新建任务,按需选择 rsync/tar 等方案并设定保留策略
- 简单远程传输可用 FTP 脚本或 rsync over SSH;重要数据建议加密后再传输,并定期校验与演练恢复流程。