Ubuntu中如何进行系统备份与恢复
小樊
52
2025-11-14 16:38:17
Ubuntu 系统备份与恢复实用指南
一 备份策略与工具选择
- 日常桌面用户推荐组合:Timeshift + Deja Dup。Timeshift 负责系统级快照(应用与配置),默认不备份 /home;Deja Dup 负责用户文件,可备份到本地磁盘、网络存储或云服务。
- 服务器或异地容灾:使用 rsync 增量同步到远程主机,配合 tar 定期全量归档,兼顾效率与可移植性。
- 整盘克隆或迁移:dd 或 Clonezilla。dd 逐位复制,适合同硬件/同分区布局;Clonezilla 基于镜像,适合批量与跨设备恢复。
- 关键原则:备份应存放在外部磁盘/网络存储/云端;对敏感数据使用 GPG 加密;定期验证备份可用性;必要时配置 cron 自动化。
二 常用备份方法步骤
- 文件级备份(用户数据)
- rsync 增量:
- 安装:sudo apt install rsync
- 命令:rsync -aAXv --delete --exclude={“/dev/“,”/proc/”,“/sys/“,”/tmp/”,“/run/“,”/mnt/”,“/media/*”,“/lost+found”} / /path/to/backup/
- tar 归档:
- 命令:tar -cvpzf backup-$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/media --exclude=/lost+found /
- 系统级快照(Timeshift)
- 安装:sudo apt install timeshift
- 启动:timeshift &,选择 RSYNC 或 BTRFS 类型,备份位置选外部磁盘,按需设置定时。
- 整盘镜像(dd)
- 备份到文件:sudo dd if=/dev/sdX of=/mnt/backup.img bs=4M status=progress
- 压缩备份:sudo dd if=/dev/sdX bs=4M | gzip > /mnt/backup.img.gz
- 自动化与加密
- GPG 加密:gpg -c backup.tar.gz
- 定时任务:crontab -e 添加如 0 2 * * * /path/to/backup.sh
三 恢复方法与场景
- 文件级恢复
- tar:tar -xvpzf backup.tar.gz -C /restore/path
- rsync:rsync -aAXv /path/to/backup/ /mnt/target/
- 系统级快照恢复(Timeshift)
- 系统可启动时在 Timeshift 中选择快照并还原;系统无法启动时,用 Live USB 启动 → 安装并运行 Timeshift → 选择快照还原。
- 整盘镜像恢复(dd)
- 从文件恢复:sudo dd if=/mnt/backup.img of=/dev/sdX bs=4M status=progress
- 从压缩镜像恢复:gunzip -c /mnt/backup.img.gz | sudo dd of=/dev/sdX bs=4M status=progress
- 磁盘到磁盘:sudo dd if=/dev/sdb of=/dev/sda bs=4M status=progress
- 无法启动时的 chroot 修复
- Live USB 启动 → 挂载原系统分区:sudo mount /dev/sdXn /mnt
- 绑定系统目录并切换根:
- sudo mount --bind /dev /mnt/dev
- sudo mount --bind /proc /mnt/proc
- sudo mount --bind /sys /mnt/sys
- sudo chroot /mnt
- 在 chroot 中执行修复或还原操作(如重装关键包、修复引导等)。
四 注意事项与最佳实践
- 备份位置与验证:优先写到外部介质;定期校验/试恢复确保可用。
- 排除清单:tar/rsync 时排除 /proc、/sys、/tmp、/run、/mnt、/media、/lost+found 等虚拟或临时文件系统。
- 容量与一致性:dd 恢复时目标盘容量需不小于源盘;备份期间避免对源盘写入,确保一致性。
- 加密与自动化:敏感数据用 GPG;结合 cron 定时执行并保留多版本历史。
- 工具选择建议:桌面环境用 Timeshift + Deja Dup;服务器用 rsync 增量 + tar 全量;跨设备迁移/批量部署用 Clonezilla。
五 快速命令清单
- 安装工具:sudo apt install timeshift deja-dup rsync
- 全系统 tar 备份:tar -cvpzf backup-$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/media --exclude=/lost+found /
- rsync 增量备份:rsync -aAXv --delete --exclude={“/dev/“,”/proc/”,“/sys/“,”/tmp/”,“/run/“,”/mnt/”,“/media/*”,“/lost+found”} / /path/to/backup/
- dd 整盘备份与压缩:sudo dd if=/dev/sdX of=/mnt/backup.img bs=4M status=progress;sudo dd if=/dev/sdX bs=4M | gzip > /mnt/backup.img.gz
- 恢复与验证:tar -xvpzf backup.tar.gz -C /;rsync -aAXv /path/to/backup/ /mnt/target/;dd if=/mnt/backup.img of=/dev/sdX bs=4M status=progress;gpg -c backup.tar.gz;crontab -e 配置定时任务。