Skip to content

[Feature] 数据库备份与恢复:一键导出/导入保障数据安全 #68

Description

@LC044

背景与目标

TrailSnap 是自托管应用,数据安全是用户最核心的诉求。当前设置页有配置 JSON 的导入/导出,但缺乏数据库和照片元数据的备份/恢复机制。一旦数据库损坏,所有 AI 分析结果、人脸聚类、标签分类将全部丢失。

功能范围

  • 一键导出 PostgreSQL 数据库为 SQL 文件(pg_dump
  • 一键从 SQL 文件恢复数据库
  • 定时自动备份(可配置周期和保留份数)
  • 备份文件列表管理(查看、下载、删除)
  • 备份状态和进度通知

技术方案

  • 后端:新增 GET /api/system/backupPOST /api/system/backupPOST /api/system/backup/restore 端点
  • 通过 subprocess 调用 pg_dump / psql,输出到 data/backups/ 目录
  • 定时任务复用现有 TaskManager._scheduler_loop 机制
  • 前端:设置页新增"备份与恢复"标签页

优先级

— 自托管应用的数据安全是基本需求,缺少备份是用户上车的最大顾虑

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions