在 CentOS 上迁移 Jellyfin,通常分为 同机迁移(换目录/磁盘) 和 跨服务器迁移 两种场景。下面按最常用、最稳妥的方式给你一个完整流程。
先确认你是怎么装的(影响路径):
rpm -qa | grep jellyfin
常见情况:
下面以 RPM 安装 为主说明。
systemctl stop jellyfin
systemctl disable jellyfin # 可选
| 目录 | 说明 |
|---|---|
/etc/jellyfin |
配置文件 |
/var/lib/jellyfin |
数据库、元数据、用户数据 |
/var/log/jellyfin |
日志 |
/usr/share/jellyfin |
程序文件(一般不用迁移) |
/var/cache/jellyfin |
缓存(可不清) |
✅ 核心迁移目录:
/etc/jellyfin
/var/lib/jellyfin
mkdir -p /data/jellyfin/config
mkdir -p /data/jellyfin/data
cp -a /etc/jellyfin/* /data/jellyfin/config/
cp -a /var/lib/jellyfin/* /data/jellyfin/data/
⚠️ 一定要用 -a,否则权限会乱
编辑 service 文件:
systemctl edit jellyfin
或者:
vi /usr/lib/systemd/system/jellyfin.service
修改以下两项:
Environment=JELLYFIN_CONFIG_DIR=/data/jellyfin/config
Environment=JELLYFIN_DATA_DIR=/data/jellyfin/data
保存后:
systemctl daemon-reload
systemctl start jellyfin
tar czvf jellyfin-backup.tar.gz \
/etc/jellyfin \
/var/lib/jellyfin
scp jellyfin-backup.tar.gz root@新服务器IP:/root/
dnf install jellyfin -y
# 或 yum
systemctl stop jellyfin
tar xzvf jellyfin-backup.tar.gz -C /
systemctl start jellyfin
chown -R jellyfin:jellyfin /etc/jellyfin
chown -R jellyfin:jellyfin /var/lib/jellyfin
如果新服务器媒体路径变了:
✅ 不会丢失播放记录
setenforce 0
或放行:
semanage fcontext -a -t httpd_sys_rw_content_t "/data/jellyfin(/.*)?"
restorecon -Rv /data/jellyfin
docker stop jellyfin
cp -a /var/lib/docker/volumes/jellyfin-config /new/path
或修改 docker-compose.yml 中的 volume 路径。
你可以直接告诉我:
我可以给你 精确到命令级别 的迁移方案。