收起左侧

相册存储卷迁移文档(vol1 → vol2)

0
回复
27
查看
[ 复制链接 ]

1

主题

4

回帖

0

牛值

江湖小虾

飞牛FnOS trim.photos 相册存储卷迁移教程(vol1迁移至vol2 完整版)

一、文档说明

本文档为飞牛FnOS NAS trim.photos相册 存储卷迁移标准操作文档,用于将相册所有数据路径从 vol1 完整迁移至 vol2

本流程本人已经实测验证(结合AI总结实际可用的步骤),解决路径不匹配、图片不显示、目录绑定失效、数据库损坏等问题,支持完整回滚,安全稳定。

二、前置条件

  • 飞牛NAS已开启SSH,可正常远程连接
  • 本地电脑安装 Navicat(支持SQLite数据库编辑)
  • 照片实体文件已提前从 vol1 迁移至 vol2 对应目录

三、完整迁移操作步骤(标准流程)

步骤1:应用中心停用相册(必做)

进入飞牛后台 → 应用中心 → 找到 trim.photos相册先停用应用

作用:防止程序占用数据库/文件,导致备份失败、文件损坏。

步骤2:完整备份相册全部数据(必做)

停用应用后,备份整个相册数据目录,出现任何问题可一键回滚。

cd /usr/local/apps/@appdata/
tar -zcvf trim.photos_full_bak_$(date +%Y%m%d_%H%M%S).tar.gz trim.photos/

备份文件路径:/usr/local/apps/@appdata/

步骤3:下载数据库文件到本地

通过SFTP工具,将以下数据库文件下载到本地电脑:

/usr/local/apps/@appdata/trim.photos/db/photo.db

步骤4:Navicat修改数据库路径(vol1 → vol2)

  1. Navicat新建SQLite连接,打开本地下载的 photo.db
  2. 执行SQL批量替换全局路径
UPDATE photo
SET file_path = REPLACE(file_path, '/vol1/', '/vol2/'),
    file_dir  = REPLACE(file_dir,  '/vol1/', '/vol2/');
  1. 校验修改结果
SELECT file_path,file_dir FROM photo LIMIT 10;
  1. 确认所有路径已变为**/vol2/**,保存数据库
  2. 将修改后的 photo.db 上传覆盖回原目录

步骤5:清空旧目录关联数据

user_folder 存储旧卷目录绑定记录,必须清空,否则路径不匹配图片不显示

DELETE FROM user_folder;

步骤6:清理数据库缓存文件(必做)

删除SQLite缓存日志,避免旧数据残留、数据库报错

cd /usr/local/apps/@appdata/trim.photos/db/
rm -f photo.db-wal photo.db-shm

步骤7:重装相册并绑定vol2存储卷(核心步骤)

  1. 飞牛后台 → 应用中心 → 卸载 trim.photos
  2. 关键:卸载时选择【保留原数据】
  3. 重新安装相册应用
  4. 存储安装位置选择:vol2(存储空间2)

步骤8:重建索引与缩略图(可选优化)

安装完成后进入相册设置,执行以下操作修复未整理、缩略图缺失问题:

  • 重新扫描文件目录
  • 重建文件索引
  • 批量生成缩略图
  • 重新执行AI人脸/场景识别整理

四、故障回滚方案(数据库损坏/操作失败)

systemctl stop trim_init
cd /usr/local/apps/@appdata/
rm -rf trim.photos/
tar -zxvf 你的备份文件名.tar.gz
systemctl start trim_init

五、重要注意事项

  • 备份前必须停用相册,防止文件占用导致备份不完整
  • 全程无需手动修改文件权限,默认权限正常
  • 卸载相册务必保留数据,否则所有照片记录清空
  • 数据库只认绝对物理路径,禁止使用网页中文别名路径
  • 修改数据库后必须删除 wal、shm 缓存文件
  • 全程需要使用root权限进行删除复制操作,上传的话可以先上传到/tmp/下,然后进行cp复制到相册数据目录下
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则