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.pytools/batch_upload_cloud.pyREADME.mdAGENTS.mdskill/SKILL.md