备份与维护
PicFast 提供 picfast maintenance 命令行,用于一致性巡检、备份导出、归档校验、恢复以及可选的缩略图修复。
请在服务器或应用容器内执行;管理后台仅提供可复制命令参考,不会在浏览器里替你执行。
执行前注意
- 使用与线上实例一致的配置(
config.yaml/ 环境变量),以便 CLI 能连接 PostgreSQL 与各存储后端。 - 下文 Compose 示例中的
<service>须替换为你在docker-compose.yml里为 PicFast 定义的实际服务名(示例仓库常用app,你的环境可能不同)。 - 体量较大时建议在维护窗口执行:
doctor与完整备份会大量读取对象。
命令形式
docker compose exec <service> picfast maintenance <子命令> [参数] 使用 picfast maintenance --help 与各子命令的 --help 查看参数(如 --json、--all、--pg-dump-container 等)。
子命令
| 子命令 | 作用 |
|---|---|
doctor | 只读巡检:数据库记录、对象存储与缩略图是否一致。 |
backup | 导出 PostgreSQL 自定义格式 dump,并可按需把对象一并打入归档。 |
inspect | 校验备份包内的 manifest.json 与校验和。 |
restore | 默认仅预检;加 --apply 才写入。目标库非空时需显式 --force。 |
repair-thumbnails | 根据源对象重建缺失缩略图(默认演练,--apply 才写入)。 |
推荐顺序
- 巡检:
picfast maintenance doctor --all --batch-size 500 - 备份:
picfast maintenance backup --output /app/data/backups/picfast-backup.tar.gz(路径请按实际卷挂载调整) - 校验归档:
picfast maintenance inspect /app/data/backups/picfast-backup.tar.gz - 恢复(在目标环境、预检通过后):
picfast maintenance restore … --apply;仅在确认要覆盖非空库时使用--force。
PostgreSQL 客户端工具
若宿主机未安装 pg_dump / pg_restore,可将 CLI 指向已有 Postgres 容器(如 --pg-dump-container、--pg-restore-container),详见 backup 与 restore 的 --help。
归档格式与完整说明
Manifest 字段、objects.jsonl 与校验账本的职责、兼容性约定及更多实现细节见 PicFast 仓库文档:
docs/maintenance.md。