Linux备份与迁移工具指南
在 Linux 的使用与运维过程中,备份与系统迁移是我们绕不开的核心需求:换硬盘时需要完整迁移系统,服务器故障时需要快速恢复数据,日常使用中需要定期备份重要文件,批量部署时需要高效克隆系统……
选对工具,能让这些工作事半功倍。本文整理了 10 款 Linux 生态中最常用、最实用的备份与迁移工具,覆盖了从完整磁盘克隆、增量数据备份到坏盘数据恢复的所有场景,帮你根据自己的需求,快速找到最合适的工具。
1. dd:最通用的底层磁盘克隆工具
dd是 Linux 自带的一个底层数据复制工具,它的特点是无视文件系统,直接按块复制数据,不管你是什么分区、什么文件系统,甚至是整个硬盘的 MBR 引导记录,它都能完整复制下来。
核心特点
- • 系统自带,无需额外安装,任何 Linux 环境都能直接用
- • 通用性极强,支持磁盘、分区、光盘、U 盘等所有介质
适用场景
- • 制作 U 盘启动盘,或者备份整个磁盘的原始镜像
使用示例
# 将硬盘 /dev/sda 完整克隆到 /dev/sdb,显示进度
ddif=/dev/sda of=/dev/sdb bs=4M status=progress
# 创建 /dev/sda 硬盘的完整镜像文件
ddif=/dev/sda of=/path/to/disk_backup.img bs=4M status=progress
# 从镜像文件恢复到硬盘
ddif=/path/to/disk_backup.img of=/dev/sda bs=4M status=progress
注意事项
- •
dd被称为 “磁盘毁灭者”,它不会做任何检查,直接覆盖目标盘的数据!一定要确认if****(输入源)和**of****(输出目标)没有搞反**,一旦写错,你的源盘数据会被瞬间清空,再也找不回来。 - •
dd是按块复制的,不管你的硬盘里实际有多少数据,它都会把整个硬盘的容量完整复制一遍,比如 100G 的硬盘,就算只存了 10G 数据,也会复制 100G,速度很慢,而且目标盘必须比源盘大。
2. Clonezilla:高效的系统克隆与批量部署工具
Clonezilla 是一款开源的分区 / 磁盘克隆工具,它解决了dd的痛点:它能识别文件系统,只复制硬盘里实际用过的数据块,剩下的空块直接跳过,所以速度比dd快得多,镜像也小得多。
核心特点
- • 支持几乎所有主流文件系统:ext4、xfs、btrfs、NTFS、FAT32 等,同时支持 Linux、Windows、macOS 的系统克隆
- • 支持增量备份,只备份变化的数据,节省空间和时间
- • 支持网络克隆,批量部署几十台电脑,适合网吧、企业的批量装机
适用场景
官方网址
https://clonezilla.org/
使用说明
Clonezilla 通常通过启动盘使用,你可以下载它的 Live ISO,做成 U 盘启动盘,然后从 U 盘启动,跟着图形化的向导操作即可,新手也能轻松上手。它分为两个版本:
- • Clonezilla Live:适合单机的备份与恢复
- • Clonezilla SE:适合批量部署,支持同时克隆几十台机器
3. rsync:最常用的增量文件同步工具
rsync是 Linux 下最流行的文件同步工具,它的核心是增量传输,第一次同步完所有数据之后,之后的同步只会传输变化的部分,所以速度极快,特别适合定期备份。
核心特点
- • 支持本地同步,也支持远程 SSH 同步,安全高效
适用场景
- • 同步文件到远程服务器,比如把本地的网站代码同步到服务器
使用示例
# 本地目录同步,把source同步到dest
rsync -av --delete /source/dir/ /dest/dir/
# 同步本地目录到远程服务器,通过SSH
rsync -avz --exclude 'cache/' /local/dir/ user@remote_ip:/remote/dir/
# 从远程服务器同步目录到本地
rsync -avz user@remote_ip:/remote/dir/ /local/dir/
常用参数说明
- •
-a:归档模式,自动保留文件的权限、时间、软链接等所有属性,最常用的参数 - •
--delete:删除目标目录里源目录没有的文件,保持两边完全一致 - •
--exclude:排除不需要同步的文件 / 目录,比如缓存目录
4. Partclone:分区级别的高效克隆工具
Partclone 是一款专门针对分区的克隆工具,它其实是 Clonezilla 的底层核心工具,Clonezilla 就是基于它来实现分区克隆的。它能识别不同的文件系统,只复制用过的数据块,比dd高效得多。
核心特点
- • 支持几乎所有主流文件系统:ext、xfs、btrfs、NTFS、FAT 等
- • 支持检查文件系统,备份前先检查分区的完整性,避免备份坏的分区
适用场景
- • 单独备份 / 恢复某个分区,比如只备份你的数据分区,不用备份整个硬盘
官方网址
https://www.partclone.org/
使用示例
# 备份 /dev/sda1 的ext4分区到镜像文件
partclone.ext4 -c -s /dev/sda1 -o sda1_backup.img
# 从镜像恢复到 /dev/sda1 分区
partclone.ext4 -r -s sda1_backup.img -o /dev/sda1
5. Mondo Rescue:企业级的灾难恢复解决方案
Mondo Rescue 是一款企业级的灾难恢复工具,它的特点是,能把你的整个系统,打包成一个可启动的恢复介质,不管是 ISO 镜像,还是 U 盘,当你的系统彻底崩溃的时候,你只需要用这个恢复介质启动,就能一键把整个系统恢复到之前的状态,不用重新安装。
核心特点
- • 支持 LVM、RAID、不同的硬件架构,就算你换了全新的服务器,也能恢复
- • 支持把恢复镜像存到 CD、DVD、U 盘、NFS、SSH 等各种介质
- • 支持备份整个系统,包括引导分区、内核、所有的软件和配置
适用场景
- • 服务器的灾难恢复,系统崩了能快速恢复,不用重装
官方网址
http://www.mondorescue.org/
6. G4L (Ghost for Linux):新手友好的图形化克隆工具
G4L 是模仿 Windows 下的 Ghost 工具做的,它是一款图形化的硬盘克隆工具,操作非常简单,点几下鼠标就能完成磁盘或分区的克隆,对新手特别友好。
核心特点
- • 完全图形化的界面,不用敲命令,新手也能轻松上手
- • 支持硬盘克隆、分区克隆,支持 NTFS,同时支持 Windows 和 Linux 双系统
- • 支持网络克隆,也支持把镜像存到远程的 FTP/Samba 服务器
适用场景
- • 双系统的备份与克隆,同时备份 Windows 和 Linux 分区
官方网址
https://sourceforge.net/projects/g4l/
7. FSArchiver:文件系统级的压缩归档工具
FSArchiver 是一款把整个文件系统,打包成一个压缩归档文件的工具,它和dd的原始镜像不一样,它是文件级的,所以你可以把整个文件系统压缩得很小,而且还能挂载归档文件,提取里面的单个文件。
核心特点
- • 高压缩比,能把整个文件系统压缩成很小的归档文件,节省空间
- • 文件级备份,你可以挂载归档文件,提取里面的单个文件,不用整个恢复
- • 支持不同大小的分区,你可以把 100G 分区的备份,恢复到 50G 的分区,只要数据能放下就行,不像
dd必须分区一样大
适用场景
- • 备份整个系统分区,想要小的镜像,还能随时提取单个文件
- • 系统迁移,把旧硬盘的系统,迁移到更小的新硬盘上
官方网址
http://www.fsarchiver.org/
8. Duplicity:带加密的增量远程备份工具
Duplicity 是一款主打安全的备份工具,它的核心是加密的增量备份,特别适合把数据备份到远程的云端或者服务器上,就算备份被别人拿到了,也看不到你的数据。
核心特点
- • 端到端加密,所有备份数据在上传前就加密了,远程服务器拿不到你的明文数据
- • 支持几乎所有的远程存储:SSH、FTP、S3、WebDAV 等,适合备份到云端
适用场景
- • 异地备份,保障数据的安全,防止本地硬盘损坏丢数据
官方网址
http://duplicity.nongnu.org/
小提示
Duplicity 本身是命令行的,新手可以用它的图形化前端Déjà Dup,这也是 Ubuntu 默认的备份工具,操作非常简单,点几下就能配置自动备份。
9. Timeshift:Linux 系统的一键还原工具
Timeshift 是现在 Linux 桌面用户最常用的系统备份工具,它专门针对系统备份,它不备份你的个人数据(照片、文档这些),只备份系统文件和配置,所以它的作用就是:当你把系统搞坏了的时候,一键恢复到之前的正常状态。
核心特点
- • 操作简单,图形化界面,新手也能一键备份、一键恢复
- • 支持 rsync 模式和 btrfs 模式,适配不同的文件系统
- • 系统崩溃了也能恢复,比如你更内核搞崩了,或者装软件把依赖搞坏了,重启进恢复模式,一键就能恢复系统,不用重装
适用场景
- • 日常的系统快照,比如更系统、装软件之前,先拍个快照,出问题了就能恢复
官方网址
https://github.com/teejee2008/timeshift
注意事项
Timeshift不备份用户的个人数据,它只管系统,所以你的照片、文档这些重要数据,还是需要用rsync或者其他工具单独备份。
10. ddrescue:坏硬盘的数据恢复神器
ddrescue 是一款专门用来从损坏的硬盘里恢复数据的工具,它和dd完全不一样:dd遇到坏道就会直接报错停止,而 ddrescue 会先跳过坏道,把好的数据先拷出来,然后再回头反复读坏道,尽量把能救的数据都救回来。
核心特点
- • 支持断点续传,它会用一个 log 文件记录复制的进度,你可以中断之后再继续,不用从头来
适用场景
官方说明
ddrescue 属于gddrescue包,大部分系统需要手动安装,比如 Ubuntu 下是sudo apt install gddrescue。
使用示例
# 把坏盘 /dev/sda 的数据恢复到好盘 /dev/sdb,用log记录进度
ddrescue /dev/sda /dev/sdb /path/to/recovery.log
# 恢复完好的数据之后,再回头重试坏的块
ddrescue -d -r3 /dev/sda /dev/sdb /path/to/recovery.log
工具选择指南:不同需求,选对工具
看完这 10 款工具,你可能会问,我到底该选哪个?这里给你一个简单的选择指南:
这些工具覆盖了 Linux 下几乎所有的备份与迁移场景,选对工具,能让你在备份、迁移、恢复的时候,事半功倍,再也不怕数据丢了,也不怕系统崩了。