Skip to content

Latest commit

 

History

History
102 lines (70 loc) · 2.7 KB

File metadata and controls

102 lines (70 loc) · 2.7 KB

CLOUD

Mortimer 的云备份说明文档。当前项目只支持一条正式路径:

  • 备份后端:rclone
  • 云盘:Google Drive
  • 远端名称:默认 mortimer-books
  • 远端根目录:必须直接锁定到 Drive 上的 Books/ 文件夹

原则

  • 项目运行期不依赖 gws
  • 不保留 gdrive_* 包装脚本或双入口
  • 单本上传和批量补传都走 Python 工具,不再绕 shell 壳层
  • 如果 rclone remote 不是 drive 类型,或没有 root_folder_id,工具必须直接拒绝执行

需要的本地配置

先在本机执行:

rclone config

创建一个 Google Drive remote:

  • remote 名称:mortimer-books
  • backend 类型:drive
  • root_folder_id:你的 Books/ 文件夹 ID

如果 ensure-remote 明确报告 OAuth token 无效或过期:

rclone config reconnect mortimer-books:

普通网络超时、DNS 或连接错误不需要重新登录。ensure-remote 会区分认证错误、网络错误和 remote 配置错误;只有认证错误才执行 reconnect。

如果你要用别的 remote 名称,可以设置:

export RCLONE_REMOTE=<your-remote-name>

正式入口

单本上传:

python3 tools/rclone_upload.py upload books/<file> <category>

批量补传:

python3 tools/batch_upload_cloud.py booklists/<list>.json

下载即备份:

python3 tools/batch_download.py booklists/<list>.json --confirm
python3 tools/read.py booklists/<list>.md --download-confirm

说明:

  • batch_download.py --confirm 会在每本书下载成功后立即上传到 Drive
  • mixed doc_type 清单里的论文 PDF 也按同样规则落到 books/,然后立即上传到 Books/<category>/
  • batch_upload_cloud.py 只负责补传,不是主下载流程的替代物

远端检查:

python3 tools/rclone_upload.py ensure-remote
python3 tools/rclone_upload.py verify <category> "<filename>"

运行约束

  • 分类目录结构固定为 Books/<category>/<filename>
  • 批量补传默认并发由 RCLONE_UPLOAD_WORKERS 控制,默认 3
  • 上传命令必须按书单中的 category 落盘,不能再靠编号区间猜分类
  • batch_download.py 下载完成后直接调用 Python 上传函数,不再起额外 shell 包装层

回归检查

python3 tools/rclone_upload.py ensure-remote
python3 tools/rclone_upload.py upload books/<file> <category>
python3 tools/batch_upload_cloud.py booklists/<list>.json

检查错误分类时,至少覆盖:未配置 remote、非 Drive backend、缺少 root_folder_id、OAuth 过期和网络不可达。

相关文件

  • tools/rclone_upload.py
  • tools/batch_upload_cloud.py
  • README.md
  • AGENTS.md
  • skill/SKILL.md