Emby 中文文档 下载 App

Emby 服务器备份与恢复 — 换 NAS 或迁移的万能方案

为什么要备份

Emby Server 运行一段时间后,数据目录里有这些东西:

媒体文件本身靠 NAS RAID 或备份硬盘保护,但 Emby 的数据目录需要单独备份。这个目录删了,媒体库就要重新扫描 + 重新匹配元数据(几小时的等待),用户和权限也要重新建。

备份什么

只需要备份 Emby 的数据目录——媒体文件在另外的目录里,不靠这个备份保护。

Emby 数据目录位置:

平台数据目录路径
Windows%LOCALAPPDATA%\EmbyServer\
Docker-v 映射到 /config 的那个宿主机路径
Linux(apt 安装)/var/lib/emby/
Linux(snap 安装)/home/<user>/snap/emby-server/current/
macOS~/Library/Application Support/Emby/
群晖 DSM 套件/volume1/@appdata/Emby/
TrueNAS / unRAID你自己映射的 config 目录

Docker 环境下数据目录的确认方式:看 docker run 命令里 -v /宿主机路径:/config 的那一项——左边的宿主机路径就是数据目录。

数据目录里有什么

/config/
├── data/              # 数据库、缩略图缓存(最大的部分)
│   ├── libraries.db   # ★ 核心数据库(媒体库索引)
│   ├── users.db       # ★ 用户数据库
│   ├── users/         # 每个用户的观看记录、收藏等
│   ├── images/        # 媒体库缩略图和海报缓存
│   └── subtitles/     # Open Subtitles 下载的字幕缓存
├── plugins/           # 已安装的插件 DLL
├── config/            # Server 配置文件
├── logs/              # 运行日志
├── cache/             # 临时缓存
└── system.xml         # Server 核心配置

data/ 和 users/ 里的内容最大(几百部电影的话可能有几 GB 到十几 GB),其中大部分是缩略图缓存——重建媒体库时可以重新生成。libraries.db 和 users.db 是最小但最关键的两个数据库文件。

备份方式

方式一:Emby 内置备份(Premiere 推荐)

Dashboard → Advanced → Backup(需要 Premiere):

内置备份最简单,优先用这个。

方式二:手动复制(通用)

Emby Server 停掉后(防止文件被占用),把整个数据目录复制到备份位置:

# 停掉 Emby(Docker 环境)
docker stop emby

# 复制数据目录到备份位置
cp -r /path/to/emby/config /path/to/backup/emby-backup-$(date +%Y%m%d)

# 再启动
docker start emby

Windows 用资源管理器复制就行。停 Server 是为了确保数据库文件处于一致状态(不复制到一半写到一半)。

方式三:定时自动脚本

写一个定时任务(Windows 任务计划 / Linux crontab),每天凌晨停 Server → 复制 → 再启动:

Linux crontab 示例:

# 每天凌晨 3 点自动备份 Emby
0 3 * * * docker stop emby && sleep 10 && cp -r /path/to/config /path/to/backup/emby-backup-$(date +\%Y\%m\%d) && docker start emby

Windows 批处理:

@echo off
docker stop emby
timeout /t 10
xcopy /E /I /Y "C:\Users\<user>\AppData\Local\EmbyServer" "D:\Backup\emby-%date:~0,4%%date:~5,2%%date:~8,2%"
docker start emby

方式四:Synology Hyper Backup

群晖用户直接用 DSM 自带的 Hyper Backup:

  1. 打开 Hyper Backup → 创建新任务
  2. 选择备份源:应用程序 → 选 Emby
  3. 选备份目的地(本地、另一块硬盘、USB、云盘均可)
  4. 设置备份频率
  5. 跑一次验证恢复

Hyper Backup 会自动处理 Emby 的数据库一致性问题,比手动复制更安全。

备份验证

备份完之后一定要验证恢复是否成功:

  1. 在测试环境(或新机器上)装 Emby Server
  2. 停 Server
  3. 用备份的数据目录替换新安装的空数据目录
  4. 启动 Server
  5. 登录 Dashboard → 检查媒体库索引是否完整、用户是否存在、观看记录是否保留

不做恢复验证的备份形同虚设。

迁移到新机器

完整迁移流程(从旧机器 → 新机器):

  1. 旧机器:停 Emby Server → 备份数据目录
  2. 旧机器:记下 Server 的硬件转码设置(Quick Sync / NVENC 等)
  3. 新机器:安装 Emby Server(先不要启动它跑向导)
  4. 新机器:把备份的数据目录复制到新机器对应位置
  5. 新机器:启动 Emby Server
  6. 新机器:登录 Dashboard → 媒体库应该已经有了(但媒体路径可能不对,因为新机器的磁盘挂载路径和旧的不一样)
  7. Dashboard → Library → 每个库 → Edit Library → 改 Library Paths 为新机器的实际媒体路径
  8. 保存后 Emby 会扫描新路径下的文件并和旧索引匹配(如果新路径的文件就是旧机器搬过来的,匹配应该顺利)
  9. 检查硬件转码设置(新机器的硬件可能不同,重新选一下解码器)
  10. 测试远程访问是否正常(公网 IP 可能变了,端口转发和 Emby Connect 需要重新检查)
  11. 测试各用户的账号和权限(应该都保留了)

新机器的媒体路径和旧机器不一样怎么办

比如旧机器上路径是 D:\Movies,新机器上是 /volume1/video/Movies:

  1. Dashboard → Library → 电影库 → Edit Library → Paths
  2. 删掉旧路径 D:\Movies
  3. 加新路径 /volume1/video/Movies
  4. 保存
  5. Emby 会尝试把每个条目对应到新路径的文件上。如果匹配上了(文件名没变),直接能播
  6. 如果部分匹配不上,那些条目会变成灰色"找不到文件",手动 Refresh 重新识别

备份频率建议

内容变更频率建议备份频率
媒体库索引(libraries.db)每天(加新电影时)每天
用户数据(users.db)偶尔每周
插件配置很少改改完手动备份一次
整体——每周至少一次

最保险的策略:每次加了不少新电影(10+ 部)后手动备份一次,加上每周一次全量自动备份。

不要备份什么

恢复后出问题排查

媒体库里条目全灰(找不到文件)

路径不对。Dashboard → Library → 每个库 → 把路径改成恢复后的新机器上的实际路径。

插件没了

恢复的数据目录里 plugins 文件夹应该有所有插件。如果还是没了,手动把 DLL 放进去或从 Catalog 重新装。

用户登录不进去

恢复的 users.db 里应该保留了所有用户。如果还是不行,在恢复前先看一下 Server 日志里有没有权限问题。

观看记录丢了

观看记录存在 users.db 或 users/<用户名>/ 目录下。恢复时确保这两个都覆盖了。如果恢复后还是丢了,可能之前备份时 Emby 没停,数据库没写完整——下次备份一定要先停 Server。