知识库搭建系列前七篇,从架构到保鲜讲了个遍。但有一件事一直没提——数据没了怎么办。
我有过这个教训。
调一个 Obsidian 插件,配置写错了。几百个文件的 frontmatter 全乱。还好有 git,一条命令就回来了。
从那天起,备份方案改了好几版。最后稳定在三层。
第一层:git 版本控制
Obsidian vault 全是 Markdown 文件。天然适合 git。
初始化:
cd /path/to/your/vault git init git add . git commit -m "initial commit"
推到一个远程仓库。GitHub 或自建 GitLab 都行。
日常备份也只三条命令:
git add -A git commit -m "日常备份 YYYY-MM-DD" git push
两个小技巧。
第一,写个 .gitignore。把插件缓存和临时文件过滤掉:
.obsidian/workspace.json .obsidian/cache/ .trash/
第二,别频繁提交。一天一次或一批改完再提交。commit log 看着也干净。
git 的好处是快。坏处是你得记得推。忘了就白搭。所以需要第二层。
第二层:本地冷备
rsync 搞定。定期把整个 vault 复制到另一块硬盘。
命令就一行:
rsync -avh --delete /path/to/vault/ /path/to/backup/vault/
--delete 要不要加,看个人习惯。我更倾向不加,保留已删除文件的历史版本。多占点空间,但安全。
设个 cron job,每天凌晨自动跑:
0 4 * * * rsync -avh /path/to/vault/ /path/to/backup/vault/
设好就不用管了。每天自动跑,不需要人盯着。
第三层:异地备份
前两层防误操作和单硬盘故障。遇到火灾、洪水、盗窃呢?概率小,碰上一回就归零。
第三层把数据放到另一个物理位置。加密打包后上传到云存储。
具体操作:
tar czf - /path/to/vault/ | \ gpg --symmetric --cipher-algo AES256 \ -o vault-backup-$(date +%Y%m%d).tar.gz.gpg
加密的原因很简单。云存储服务商能看见你的文件。虽然不涉及什么机密,但「我的笔记别人能看」这件事本身就不舒服。
加密文件上传到云盘。一个月一次就够了。本地冷备防日常,异地备份防灾难。
说说节奏
数据备份最关键的,不是用什么工具,而是形成习惯。
方案再完美,不执行等于零。
我的节奏是这样的:
- git — 每天下班前推一次。想起来就行
- 本地冷备 — cron 自动跑,每天凌晨 4 点
- 异地加密备份 — 每月手动做一次
三层协同,缺一不可。
小结
知识库搭建系列到这算完整了。从架构、采集、管线、使用、搜索、内容保鲜到备份,一套完整知识库的生命周期都覆盖了一遍。
如果你是从头开始读的,建议按顺序走:先搭架构,再建管道,然后养成日常习惯,最后别忘了兜底。
下一步写什么,还没想好。有什么特别想聊的话题,欢迎留言。