在 CentOS 上迁移 Jellyfin 通常包括 配置文件、媒体库、元数据、用户数据 等。下面给你一套完整、可操作的迁移方案,适用于 CentOS 7 / 8 / Stream,也适用于从一台 CentOS 迁移到另一台 CentOS 或 Linux 服务器。
常见三种:
先确认:
rpm -qa | grep jellyfin
# 或
docker ps | grep jellyfin
下面以 RPM 安装方式 为主(最常见)。
systemctl stop jellyfin
Jellyfin 默认数据目录:
/var/lib/jellyfin # 数据库、元数据
/etc/jellyfin # 配置文件
/var/log/jellyfin # 日志(可选)
mkdir -p /root/jellyfin_backup
tar czvf /root/jellyfin_backup/jellyfin_data.tar.gz \
/var/lib/jellyfin \
/etc/jellyfin
如果媒体也在本机:
tar czvf /root/jellyfin_backup/media.tar.gz /data/media
或直接使用 rsync(推荐):
rsync -avz /data/media/ root@新服务器IP:/data/media/
scp /root/jellyfin_backup/jellyfin_data.tar.gz root@新服务器IP:/root/
dnf install -y epel-release
dnf install -y jellyfin
或官方仓库方式(推荐):
dnf install -y https://repo.jellyfin.org/releases/server/centos/jellyfin-repo-1.0.0-1.el8.noarch.rpm
dnf install -y jellyfin
systemctl stop jellyfin
tar xzvf /root/jellyfin_data.tar.gz -C /
确认目录权限:
chown -R jellyfin:jellyfin /var/lib/jellyfin
chown -R jellyfin:jellyfin /etc/jellyfin
mkdir -p /data/media
tar xzvf /root/media.tar.gz -C /
或 rsync 已同步可跳过。
ls -ld /var/lib/jellyfin
ls -ld /data/media
Jellyfin 用户必须可读写:
chown -R jellyfin:jellyfin /data/media
⚠️ Jellyfin 绑定的是绝对路径
如果旧服务器是:
/data/media/Movies
新服务器也必须是:
/data/media/Movies
否则需要:
ln -s /new/media /data/media
firewall-cmd --add-port=8096/tcp --permanent
firewall-cmd --reload
setenforce 0
永久关闭(可选):
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
或给目录打标签:
semanage fcontext -a -t httpd_sys_rw_content_t "/data/media(/.*)?"
restorecon -Rv /data/media
systemctl enable jellyfin
systemctl start jellyfin
访问:
http://新服务器IP:8096
✅ 用户、元数据、播放记录、收藏应全部保留。
docker stop jellyfin
tar czvf jellyfin_docker.tar.gz /var/lib/docker/volumes/jellyfin_data
tar xzvf jellyfin_docker.tar.gz -C /
docker start jellyfin
/var/lib/jellyfin旧服务器:
1. 停止 jellyfin
2. 备份 /var/lib/jellyfin & /etc/jellyfin
3. 传输到新服务器
新服务器:
1. 安装 jellyfin
2. 停止服务
3. 还原数据
4. 修复权限
5. 启动服务
如果你愿意,可以告诉我:
我可以给你一套 完全贴合你环境的迁移命令。