很多用 Linux 的人都有一个错觉:系统稳定、不容易中招,备份好像可有可无。我也是这么想了很久,直到有一次手滑执行了 rm -rf、还有一次内核升级后开机黑屏,才真正明白——Linux 备份不是锦上添花,而是最后一道保命的防线。这篇文章就聊聊我亲测可用的备份思路,不堆命令,重点讲清楚为什么这么搭。
为什么 Linux 备份总被忽视
相比 Windows 动不动中病毒、macOS 用户被 Time Machine 反复提醒,Linux 桌面用户往往最”佛系”。系统确实稳,但稳不等于不会出事:误删文件、磁盘坏道、升级翻车、配置改崩,哪一样都能让你一夜回到解放前。我踩过最大的坑,就是觉得自己技术好不需要备份,结果一次固态掉盘,三年积攒的笔记和脚本全没了。从那以后,备份成了我的肌肉记忆。
先想清楚:你到底要备份什么
动手之前,第一步不是选工具,而是给自己的数据分个类。这直接决定了用哪种方案。
必须备份的数据
家目录 ~/ 下的文档、照片、项目代码、还有那些藏在 .config 里的配置文件(俗称 dotfiles)。这些东西一旦丢了,重做比重装系统还痛苦。
可以”重来”的系统
系统本身能重装,但重装加回一堆软件很费时间。所以才有”系统快照”这类方案——不动数据,只给系统状态拍张照,翻车时一键回去。
rsync 增量备份:数据层的稳妥选择
讲到rsync 增量备份,它是我用得最多的工具。它的核心优势是”只传变化的文件”:第一次全量同步慢一点,之后每次只同步差异,速度快、还省空间。
一个我日常在用的命令:
rsync -aAXh --delete --link-dest=/backup/linux/latest /home/ /backup/linux/$(date +%F)/
简单解释几个参数:-a 保留权限和时间戳,-A 和 -X 保留 ACL 和扩展属性(对 SELinux 环境很重要),--link-dest 是关键——它用硬链接指向上一次备份,没变的文件不占新空间,变了的才复制,于是每天一份”完整快照”却几乎不多吃磁盘。配合 systemd timer 或 cron 定时跑,Linux 数据备份策略的自动化就成了。
Timeshift 系统快照:系统层的一键回滚
说完数据说系统。Timeshift 系统快照类似 Windows 的系统还原点,对系统分区拍快照。桌面用户最爽的场景:刚升级了显卡驱动或内核,重启发现进不去桌面,打开 Timeshift 选上一个快照回滚,几分钟满血复活。
这里有个关键坑:Timeshift 默认不备份家目录(除非你手动勾选 include home)。也就是说,它救的是”系统状态”,不是你的个人文件。所以数据备份还得靠上面的 rsync,两者是互补关系,不能互相替代。
一套我自己在用的组合方案
把前面两样组合起来,我现在是这么安排的:
- 数据层:每天凌晨用 rsync 把
~/增量备份到一块独立硬盘; - 系统层:每周用 Timeshift 对系统盘做一次快照;
- 异地层:最重要的文档,再同步一份到云盘或另一台机器。
这其实就是备份圈常说的 3-2-1 原则:3 份副本、2 种不同介质、1 份异地。对个人用户来说,能做到”本地一份 + 异地一份”就已经超过 90% 的人了。
几个容易踩的坑
方案跑起来不代表高枕无忧,下面几个坑我都替你踩过了:
- 只备份不验证:备份文件能不能恢复,只有真恢复过才知道。建议每季度挑一个文件做恢复演练;
- 备份盘和源盘是同一块物理盘:盘一挂,源和备份一起没,等于没备;
- 忘了排除缓存和大文件:比如
~/.cache、虚拟机镜像,不排掉备份体积会爆炸。
备份前先给系统做个体检
还有一个小习惯:正式备份前,我会先看一眼系统健康状况,避免把”带病”的状态也一并备份进去。关于怎么用命令行把系统看个明白,可以参考我之前写的 Linux 系统巡检怎么做?用命令行把健康状况看个明白的实用心得。另外系统里软件装得多,包管理偶尔会闹脾气,遇到依赖冲突也别慌,Linux 包管理总踩坑?apt/dnf/pacman 依赖冲突的实战解决心得 里有一套处理思路。如果是刚把 Linux 当主力桌面的朋友,把 Linux 当主力桌面系统两年,我整理的 8 条实在使用心得 也值得一读,能少走不少弯路。
小结
回到开头那句话:Linux 备份没有银弹,但对绝大多数个人用户来说,rsync 管数据、Timeshift 管系统,这套组合已经足够稳。最难的从来不是技术,而是”先动起来”——今天就把第一份备份跑了,比研究一整天完美方案更有意义。










暂无评论内容