Home Server 备份恢复检查表 · 更新 2026-07-05

Home Server Backup & Recovery Checklist:Config、Databases、App Data、Media Libraries、Secrets、Upgrades 与 Restore Drills

面向 CasaOS、Umbrel、Nextcloud、YunoHost、RomM 与其他 home-server stacks 的实用备份和灾难恢复检查表。

Home server backup 不是拷贝一个目录,recovery 也不是重新安装 dashboard。真实 self-hosted system 通常同时包含 platform config、app manifests、DB、user files、media libraries、permissions、secrets、schedulers 与 external integrations。

这份 checklist 把 irreplaceable data 与 reproducible software 分开,定义 restore order,要求 off-device copies、retention 与 clean-machine restore drills。

RepoDaily 判断

在 clean machine 上无法恢复一个代表性 service,并证明 users、config、DB state、files、permissions、scheduled jobs 与 external references 正常前,不要称 home server 已完成备份。至少保留一份 server 外副本;应用不支持 downgrade 时,应把 upgrade rollback 当成 restore problem。

快速矩阵

资产类别例子备份规则恢复证明
System configurationNetwork、mounts、domains、reverse proxy与 app data 分开 export/documentFresh host 无需临时猜测即可恢复服务
App configurationCompose、manifests、config dirsVersion control,secrets 分离App 使用预期 paths、ports、integrations 启动
DatabaseSQLite、MariaDB、PostgreSQL使用 app-consistent dump 或 supported snapshotSchema load 成功且 app integrity check 通过
User dataFiles、photos、uploads备份 authoritative data 与 metadata dependenciesUsers、shares、references 正常
Media libraryROMs、videos、artworkIrreplaceable media 与 regenerable caches 分开Rescan 不丢 manual curation
Identity and permissionsUsers、groups、ACLs、sharing rules包含 identity/permission metadataNormal user 权限正确且无 extra privilege
SecretsAPI keys、app secrets、TLS keys、backup keysEncrypted 且恢复路径独立Service 可重新连接,不复制 stale credentials
SchedulersCron、background jobs、notifications盘点 job definitions 与 dependenciesJobs 只恢复一次,不重复 side effects
External referencesDNS、OAuth、object storage、SMTP记录 IDs/endpoints/ownersService 能 reconnect 或给出 clear remediation
Backup catalogSnapshots、archives、DB dumps维护 inventory 与 retention policyOperator 能快速选对 restore point

Backup & Recovery 准备度评分卡

给 recoverability 打分,不是给 backup file 数量打分。

控制项0 分1 分2 分Owner 问题
CoverageFiles onlyMost app dataConfig + DB + data + identity + jobs + external refsRestore 后还缺什么?
Off-device copySame diskSecond local diskSeparate device/location/cloud + tested credentialsTotal device loss 后什么能活下来?
ConsistencyLive copy no planManual stopDocumented app-consistent dump/snapshotWrites 会不会 race?
Encryption and keysUnencryptedEncryptedEncrypted + separately recoverable keyFailed server 消失后还能解密吗?
RetentionLatest onlySeveral copiesRisk-based retained history多早以前的 corruption 能逃离?
Restore orderUnknownOperator memoryWritten dependency order + health checks哪个 service 先恢复?
Restore drillNeverPartial file restoreClean-host full-service recovery上次 proven recovery 是什么时候?
Upgrade rollbackHopeSnapshot onlyPre-upgrade backup + compatibility plan + tested restoreSchema migration 后怎么恢复?

60 分钟 Home Server Recovery Drill

快速证明一个重要 service 可以从当前 backup material 重建。

0–10 分钟:选 service/recovery point

明确 exact config、DB、data、identity、secrets 与 version。

成功标准Restore set 在操作前已明确。

10–20 分钟:验证 independence

确认 primary server 消失后 backup/decryption path 仍可用。

成功标准没有 critical dependency 只存在 failed host。

20–35 分钟:clean restore

安装 compatible base,按 order restore DB/config/data,并保持 non-public。

成功标准App 无需临时猜测即可启动。

35–45 分钟:测试 users

Admin/normal user 登录,检查 files/media、permissions、shares、search 与一次 write。

成功标准Ownership/access 符合预期。

45–55 分钟:测试 jobs/integrations

运行 background job、notification 或 metadata refresh 一次。

成功标准Jobs 无 duplicate/stale refs。

55–60 分钟:记录 gaps

记录 elapsed time、missing files、manual commands、stale docs 与 data-loss window。

成功标准Runbook 与 coverage 得到改进。

Home Server Backup & Recovery Flow

  1. 盘点所有 services,并分类为 irreplaceable data、reconstructable config、DB state、identity/permissions、secrets、cache 或 disposable runtime state。
  2. 为每个 app 写 minimum restore set。Collaboration cloud 可能需要 config、DB、data directory 一致恢复;media service 需要 library + DB + manual curation;multi-app platform 还要 platform users/domains。
  3. 按 data store 选择 consistency method:service-aware export、DB dump、maintenance mode、app backup command、filesystem snapshot 或 coordinated stop。
  4. Backup storage 与 service host 分离,并通过 retained history 防护 disk failure、theft、deletion、ransomware 与 bad update。
  5. Backup encryption keys 与 server 分离保护,记录 replacement operator 如何取得。
  6. 定义 restore order:base host/mounts → platform config → databases → app config → user data → identity/permissions → jobs → external integrations/public exposure。
  7. 先 restore 到 isolated environment;在 reopen access 前验证 ownership、shares、DB health、versions、paths、jobs、notifications 与 external connectors。
  8. 定期做 clean-host drill,记录 recovery time、missing steps、manual actions 与 data-loss window。

场景表

场景备份重点恢复陷阱
CasaOS home serverPlatform config、app config、volumes、user files、mount mapDashboard 恢复,但 app paths/mounts 改变
Umbrel applianceOS/app config、persistent data、identity-sensitive data、storage map误以为每个 app 有统一 backup path
Nextcloud collaboration cloudConfig、data dir、DB、custom apps/themes if used只恢复 files,没有 matching DB/config
YunoHost multi-app serverSystem config、users/domains、app backups、mail/data、restore scriptsArchive 存在但 destination package 无法 restore
RomM media libraryROM/media、DB、config、users/sharing、manual metadata只备 DB 或只备 authoritative library
Bad application upgradePre-upgrade consistent backup + version notes对 migrated DB 尝试 unsupported downgrade
Ransomware/compromised adminHistorical independent copies + clean-room recovery恢复 poisoned config 或 attacker credentials

备份恢复风险

Single-disk backup

同一 physical disk 上的 backup folder 无法防 device failure、theft、corruption 或 destructive admin access。

Files without database

很多 app 把 ownership、shares、metadata 与 jobs 放在 DB;只有 user files 可能无法重建可用服务。

Database without files

完美 DB dump 在 uploads、media、object storage 或 external mounts 缺失时也无用。

Untested archive

Checksums 只能证明 bytes copied,不能证明 app 能 restore、migrate、auth users 与 resume jobs。

Backup key dependency

唯一 decryption key 位于 failed server 时,encrypted backup 会不可恢复。

Public restore too early

Credentials、migrations、permissions、updates 未完成前,不要直接公开 half-restored service。

Schema downgrade assumption

部分 app 不支持 schema downgrade;recovery 可能需要 fresh install + restore。

备份恢复模式

Service manifest

每个 app 记录 version、config paths、data paths、DB、secret refs、mounts、ports、dependencies、backup method 与 restore order。

Independent retained copies

跨 independent storage 保留 multiple copies,并至少有一份 separate location,按 data value 调整。

DB dump plus filesystem snapshot

协调 DB export 与 referenced files,让 metadata 与 content 属于同一 recovery point。

Pre-upgrade recovery point

Major upgrade 前创建 verified restore point,并记录 source/destination versions。

Clean-host drill

在 blank VM、spare device 或 isolated machine restore,而不只验证 in-place rollback。

Recovery evidence pack

保存 logs、timings、checksums、health checks、user access tests 与 manual fixes。

FAQ

面向 home-server operator 的简短回答。

Full disk image 足够吗?

有帮助,但不应是唯一 strategy。App-aware export 与 documented restore steps 更利于 selective restore 与 clean-room recovery。

Nextcloud 最小恢复集是什么?

把 configuration、database 与 data directory 视为一个 recovery set;使用 custom apps/themes 时也应保存。

Media 与 metadata 要一起备份吗?

先保护 authoritative media,再保存重建 library experience 所需的 DB/manual curation。

多久测试一次 restore?

Major architecture changes 后以及按数据价值设定 recurring cadence 做。

Snapshots 能替代 backups 吗?

不能完全替代。Snapshots 可能与 source 共用 failure domain,仍需 independent retained copies。

Major upgrade 前做什么?

创建 app-consistent recovery point,记录 versions,验证 compatibility,并明确 recovery path。

相关雷达

Self-hosted Apps & Local Infrastructure 雷达

相关 RepoDaily briefs

Sources

  1. Nextcloud Backup documentation
  2. Nextcloud Restore documentation
  3. Nextcloud Upgrade documentation
  4. YunoHost Backups documentation
  5. YunoHost Backup strategies
  6. YunoHost Filesystem snapshot documentation
  7. CasaOS official repository
  8. Umbrel official repository
  9. RomM official repository
  10. RepoDaily CasaOS vs Umbrel vs Nextcloud vs YunoHost

Feedback

这页是否帮助你做出决定?

匿名反馈只用于判断内容是否真正有用。

报告过期或缺失的证据