飞牛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)
- Navicat新建SQLite连接,打开本地下载的 photo.db
- 执行SQL批量替换全局路径
UPDATE photo
SET file_path = REPLACE(file_path, '/vol1/', '/vol2/'),
file_dir = REPLACE(file_dir, '/vol1/', '/vol2/');
- 校验修改结果
SELECT file_path,file_dir FROM photo LIMIT 10;
- 确认所有路径已变为**/vol2/**,保存数据库
- 将修改后的 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存储卷(核心步骤)
- 飞牛后台 → 应用中心 → 卸载 trim.photos
- 关键:卸载时选择【保留原数据】
- 重新安装相册应用
- 存储安装位置选择: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复制到相册数据目录下