Linux环境下如何备份Jellyfin数据
导读:Linux环境下备份Jellyfin数据的实用方案 一 备份范围与关键目录 需要重点保护的目录与内容如下(不同安装方式路径可能不同,请按实际环境核对): 配置与数据库:包含 /config(或 /etc/jellyfin)、/var/l...
Linux环境下备份Jellyfin数据的实用方案
一 备份范围与关键目录
- 需要重点保护的目录与内容如下(不同安装方式路径可能不同,请按实际环境核对):
- 配置与数据库:包含 /config(或 /etc/jellyfin)、/var/lib/jellyfin(数据库与插件数据)、/var/cache/jellyfin(转码与缩略图缓存,可选备份)。
- 媒体库:实际的 /media 目录(通常体量很大,建议用增量同步/快照,而非每次全量打包)。
- Docker 场景:通过卷或绑定挂载将 /config、/cache、/media 映射到宿主机,备份这些宿主机目录即可。
- 说明:Jellyfin 默认使用 SQLite 数据库(数据位于数据目录中),并非外置 MySQL/MariaDB;因此常规做法是直接备份整个数据目录或使用官方/插件提供的备份能力。
二 手动备份步骤
- 系统服务安装(systemd)
- 停止服务:sudo systemctl stop jellyfin
- 备份关键目录(示例):
- sudo rsync -aAX --info=progress2 /var/lib/jellyfin /backup/jellyfin-$(date +%F)
- sudo rsync -aAX --info=progress2 /etc/jellyfin /backup/jellyfin-etc-$(date +%F)
- 可选:sudo rsync -aAX --info=progress2 /var/cache/jellyfin /backup/jellyfin-cache-$(date +%F)
- 启动服务:sudo systemctl start jellyfin
- 建议对备份目录再做一次离线/异地拷贝(如 rclone、rsync 到 NAS/云盘)。
- Docker 部署
- 为减少不一致,建议短暂停容器:docker stop jellyfin
- 备份宿主机挂载目录(示例):
- docker cp jellyfin:/config /backup/jellyfin-config-$(date +%F)
- docker cp jellyfin:/cache /backup/jellyfin-cache-$(date +%F)
- 媒体库如挂载在宿主机,使用 rsync 增量同步(见上)。
- 启动容器:docker start jellyfin
- 说明:上述路径与做法适用于常见安装方式;Docker 场景务必备份挂载到宿主机的 /config 等目录。
三 自动备份与保留策略
- 使用 Jellyfin 插件
- 在管理界面安装 Backup 插件,配置备份计划(如每日/每周)、备份内容(配置/数据库/元数据)与存储位置(本地或网络存储),可大幅降低人为遗漏风险。
- 使用系统定时任务(rsync + 保留策略示例)
- 每日增量备份数据目录,保留最近 7 天:
#!/usr/bin/env bash set -e BACKUP_BASE="/backup/jellyfin" DATE=$(date +%F) KEEP_DAYS=7 # 停止服务(可选,减少不一致) sudo systemctl stop jellyfin || true # 备份 sudo rsync -aAX --info=progress2 /var/lib/jellyfin "$BACKUP_BASE/data-$DATE" sudo rsync -aAX --info=progress2 /etc/jellyfin "$BACKUP_BASE/etc-$DATE" # 启动服务 sudo systemctl start jellyfin || true # 清理旧备份 find "$BACKUP_BASE" -maxdepth 1 -type d -name 'data-*' -mtime +$KEEP_DAYS -delete find "$BACKUP_BASE" -maxdepth 1 -type d -name 'etc-*' -mtime +$KEEP_DAYS -delete - 媒体库建议使用独立的 rsync 任务(不做压缩打包),并配合快照或远程同步实现长期保留。
- 每日增量备份数据目录,保留最近 7 天:
四 恢复步骤
- 系统服务安装
- 停止服务:sudo systemctl stop jellyfin
- 恢复数据(示例,按实际路径调整):
- sudo rsync -aAX /backup/jellyfin-2025-04-01/ /var/lib/jellyfin/
- sudo rsync -aAX /backup/jellyfin-etc-2025-04-01/ /etc/jellyfin/
- 启动服务:sudo systemctl start jellyfin
- Docker 部署
- 先停止容器:docker stop jellyfin
- 恢复宿主机目录(示例):
- docker cp /backup/jellyfin-config-2025-04-01 /jellyfin/config
- 如使用命名卷,可先临时启动一个仅用于拷贝的容器,再覆盖卷内容。
- 启动容器:docker start jellyfin
- 验证要点
- 登录 Web 界面检查:用户、播放记录、插件、媒体库是否正常;必要时触发一次库扫描。
五 迁移与注意事项
- 跨主机/跨环境迁移
- 路径变更时,注意在恢复后校正媒体库路径;可使用开源工具 Jellyfin-Migrator 处理路径映射、ID 迁移等,降低手工修改风险。
- 权限与一致性
- 备份/恢复过程中注意文件属主与权限(常见运行用户为 jellyfin),避免恢复后访问异常;Docker 场景确保挂载路径与容器内路径一致。
- 版本与兼容性
- 尽量在相同大版本间恢复;跨大版本升级前先做一次完整备份,升级后核对插件兼容性与数据库迁移日志。
- 媒体库体量管理
- 媒体文件体量大,建议采用 增量同步 + 快照/异地备份 的组合;缓存目录(/cache)通常无需长期纳入备份。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux环境下如何备份Jellyfin数据
本文地址: https://pptw.com/jishu/786582.html
