这些年来逐渐将我的音乐库迁移到了 Plex Media Server 上,因为之前部署的 Plex 是用了 Docker,迁移到独立主机之后想直接安装,所以想将之前的 Plex 数据迁移出来,直接恢复使用。
备份
备份是一定要做的事情,为了数据安全。
通常 Plex 中的媒体文件都会用 [[Syncthing]] 来做一份备份冗余,但是 Plex Media Server 生成的媒体文件,包括 viewstates, metadata, settings 等等就需要直接去备份 Plex Media Server 的内容了。
在 Debian/Fedora/CentOS/Ubuntu 中:
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
数据库地址
Plex 在本地使用 SQLite3 存储数据。
在 macOS 上:
~/Library/Application\ Support/Plex\ Media\ Server/Plug-in\ Support/Databases/com.plexapp.plugins.library.db
Windows 上:
"%LOCALAPPDATA%\Plex Media Server\Plug-in Support\Databases\com.plexapp.plugins.library.db"
在 Linux 上(包括 NAS):
$PLEX_HOME/Library/Application\ Support/Plex\ Media\ Server/Plug-in\ Support/Databases/com.plexapp.plugins.library.db
备份时不要对备份的数据进行任何修改,防止备份数据库出错。
如果修改了本地媒体文件的地址,需要更新数据库:
UPDATE `section_locations`
SET `root_path`=
REPLACE(`root_path`,
'/Old_PATH/',
'/NEW_PATH/')
WHERE `root_path` like '%Old_PATH%';
如果确定需要修改数据库中的路径,那么确保所有表中的路径都要修改。
移动媒体文件到另外的位置
如果只是升级磁盘,文件的目录没有变化,那么只需要在迁移之前停掉 Plex Media Server,然后升级完成之后再启动即可。
如果更改了媒体文件的路径,那么就需要多出几步。
- 首先停用 Emptying of Trash
- 在管理后台禁用
Empty trash automatically after every scan
- 在管理后台禁用
- 停止 Plex Media Server
- 将文件内容拷贝到新的位置
- 启动 Plex Media Server
- 启动 Plex Web App
- 编辑 Libraries ,添加新的位置到库中,暂时保留之前的文件路径,需要对每一个移动的库都操作一遍
- 更新库,在添加之后,执行一次
Scan Library Files
,服务器会检查新位置的文件内容,然后和已经有的媒体文件做关联 - 等待完成扫描之后移除老的文件路径。