将 Anki Sync Server 数据迁移至应用目录的实践
在非系统包管理(非 APT/YUM 等)环境下运行 Anki Sync Server 时,默认的数据存储位置与传统 Linux 目录结构往往不利于长期维护、迁移和备份。本文记录了一次将 Anki Sync Server 的数据目录从默认位置迁移并集中到应用目录下的实践过程,并总结了其中涉及的关键机制与注意事项,为需要“手动管理应用”的使用场景提供一种可复制的方案。 一、问题背景 Anki Sync Server 官方支持通过 Python 模块 anki.syncserver 运行同步服务。在默认配置下: 在以下场景中,上述默认行为会带来不便: 因此,有必要将 Anki Sync Server 的数据目录显式迁移到应用自身目录中。 二、官方机制说明(关键前提) 根据 Anki 官方文档说明: 这意味着,任何迁移方案都必须围绕 SYNC_BASE 这一官方支持的接口展开。 三、目标设计:应用自包含目录结构 迁移的目标并非简单“换路径”,而是形成一种清晰、稳定、可迁移的目录布局: 该结构具有以下特点: 四、迁移步骤概述 1. 停止同步服务 在任何数据操作之前,应先停止正在运行的同步服务,避免并发写入。 2. 准备目标数据目录 在应用目录下创建专用的数据子目录(例如 data/),并确保权限正确。 3. 迁移已有服务端数据 将默认数据目录中的内容整体迁移到新的数据目录中,保持原有目录层级(每个用户一个子目录)。 迁移完成后,新的结构应直接呈现为: …