备份与维护

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 才写入)。

推荐顺序

  1. 巡检: picfast maintenance doctor --all --batch-size 500
  2. 备份: picfast maintenance backup --output /app/data/backups/picfast-backup.tar.gz(路径请按实际卷挂载调整)
  3. 校验归档: picfast maintenance inspect /app/data/backups/picfast-backup.tar.gz
  4. 恢复(在目标环境、预检通过后): picfast maintenance restore … --apply;仅在确认要覆盖非空库时使用 --force

PostgreSQL 客户端工具

若宿主机未安装 pg_dump / pg_restore,可将 CLI 指向已有 Postgres 容器(如 --pg-dump-container--pg-restore-container),详见 backuprestore--help

归档格式与完整说明

Manifest 字段、objects.jsonl 与校验账本的职责、兼容性约定及更多实现细节见 PicFast 仓库文档: docs/maintenance.md