以下是在 Ubuntu 14.04.4 LTS 系统上备份和恢复的详细步骤,涵盖命令行工具和注意事项:
一、备份方法
1. 使用 tar
备份关键目录
适用场景:灵活备份系统配置和用户数据,适合手动操作。
步骤:
# 切换到根目录
cd /
# 创建备份文件(排除临时和虚拟文件系统)
sudo tar cvpzf /path/to/backup/backup-$(date +%Y%m%d).tar.gz \
--exclude=/proc --exclude=/tmp --exclude=/sys \
--exclude=/lost+found --exclude=/media --exclude=/mnt \
--exclude=/run --exclude=/dev --exclude=/var/cache /
解释:
cvpzf
: 创建归档、显示进度、保留权限、gzip压缩。- 排除
/proc
、/sys
等动态生成的目录。 - 备份文件保存在
/path/to/backup
(替换为实际路径)。
备份软件包列表:
# 保存已安装软件列表
dpkg --get-selections > ~/package-list.txt
2. 使用 rsync
增量备份
适用场景:定期同步文件,适合快速增量备份。
步骤:
# 同步系统文件到备份目录(排除临时文件)
sudo rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/
选项说明:
-aAXv
: 归档模式+保留ACL和扩展属性+显示进度。--delete
: 删除目标中源不存在的文件(保持同步一致性)。
3. 使用 dd
全盘备份(谨慎使用)
适用场景:完整克隆磁盘/分区,适合小型系统。
步骤:
# 备份整个磁盘(例如 /dev/sda)
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
# 备份单个分区(例如 /dev/sda1)
sudo dd if=/dev/sda1 of=/path/to/backup-partition.img bs=4M status=progress
注意事项:
- 需要足够的存储空间(备份文件与磁盘大小相同)。
- 恢复时反向操作:
dd if=backup.img of=/dev/sda
二、恢复方法
从 tar
备份恢复
前提:已安装新系统或进入 Live USB 环境。
步骤:
- 挂载原系统根分区(假设为
/dev/sda1
):sudo mount /dev/sda1 /mnt
- 解压备份文件:
sudo tar xvpzf /path/to/backup.tar.gz -C /mnt --numeric-owner
- 重建排除的目录:
sudo mkdir /mnt/{proc,sys,dev,run,tmp}
- 重新安装 Grub(BIOS 环境):
sudo grub-install --root-directory=/mnt /dev/sda sudo update-grub
- 恢复软件包列表(如有):
sudo dpkg --set-selections < ~/package-list.txt sudo apt-get update sudo apt-get dselect-upgrade
从 rsync
备份恢复
- 挂载目标分区并同步:
sudo rsync -aAXv --delete /path/to/backup/ /mnt/
- 重建临时目录并修复引导(同上)。
三、工具推荐
-
Deja Dup(已预装?)
检查是否可用:sudo apt-get install deja-dup
界面化操作,支持本地/远程备份。
-
Clonezilla
第三方工具,适合全盘克隆,需从 ISO 启动。
四、注意事项
- 备份存储:建议存放到外部硬盘、NAS 或云存储。
- 验证备份:恢复前检查备份文件完整性(例如
tar -tzf backup.tar.gz
)。 - 数据一致性:备份前停止数据库服务(如 MySQL),避免写入中断。
- LVM 用户:若系统使用 LVM,可用
lvcreate --snapshot
创建快照再备份。 - 测试恢复:在虚拟机或备用硬件上测试备份是否有效。
五、快速命令总结
# 备份系统关键目录
sudo tar cvpzf backup.tar.gz --exclude=/proc --exclude=/sys ...
# 恢复时解压
sudo tar xvpzf backup.tar.gz -C /mnt
# 备份软件列表
dpkg --get-selections > packages.txt
# 恢复软件
sudo dpkg --set-selections < packages.txt
sudo apt-get dselect-upgrade
根据系统规模和需求选择合适方法。如果数据重要,建议结合多种备份策略并定期验证。