首页主机资讯Linux环境下如何备份Jellyfin数据

Linux环境下如何备份Jellyfin数据

时间2026-01-20 03:12:05发布访客分类主机资讯浏览1070
导读: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)
    1. 停止服务:sudo systemctl stop jellyfin
    2. 备份关键目录(示例):
      • 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)
    3. 启动服务:sudo systemctl start jellyfin
    4. 建议对备份目录再做一次离线/异地拷贝(如 rclone、rsync 到 NAS/云盘)。
  • Docker 部署
    1. 为减少不一致,建议短暂停容器:docker stop jellyfin
    2. 备份宿主机挂载目录(示例):
      • docker cp jellyfin:/config /backup/jellyfin-config-$(date +%F)
      • docker cp jellyfin:/cache /backup/jellyfin-cache-$(date +%F)
      • 媒体库如挂载在宿主机,使用 rsync 增量同步(见上)。
    3. 启动容器: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 任务(不做压缩打包),并配合快照或远程同步实现长期保留。

四 恢复步骤

  • 系统服务安装
    1. 停止服务:sudo systemctl stop jellyfin
    2. 恢复数据(示例,按实际路径调整):
      • sudo rsync -aAX /backup/jellyfin-2025-04-01/ /var/lib/jellyfin/
      • sudo rsync -aAX /backup/jellyfin-etc-2025-04-01/ /etc/jellyfin/
    3. 启动服务:sudo systemctl start jellyfin
  • Docker 部署
    1. 先停止容器:docker stop jellyfin
    2. 恢复宿主机目录(示例):
      • docker cp /backup/jellyfin-config-2025-04-01 /jellyfin/config
      • 如使用命名卷,可先临时启动一个仅用于拷贝的容器,再覆盖卷内容。
    3. 启动容器:docker start jellyfin
  • 验证要点
    • 登录 Web 界面检查:用户、播放记录、插件、媒体库是否正常;必要时触发一次库扫描。

五 迁移与注意事项

  • 跨主机/跨环境迁移
    • 路径变更时,注意在恢复后校正媒体库路径;可使用开源工具 Jellyfin-Migrator 处理路径映射、ID 迁移等,降低手工修改风险。
  • 权限与一致性
    • 备份/恢复过程中注意文件属主与权限(常见运行用户为 jellyfin),避免恢复后访问异常;Docker 场景确保挂载路径与容器内路径一致。
  • 版本与兼容性
    • 尽量在相同大版本间恢复;跨大版本升级前先做一次完整备份,升级后核对插件兼容性与数据库迁移日志。
  • 媒体库体量管理
    • 媒体文件体量大,建议采用 增量同步 + 快照/异地备份 的组合;缓存目录(/cache)通常无需长期纳入备份。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux环境下如何备份Jellyfin数据
本文地址: https://pptw.com/jishu/786582.html
Linux用户如何解决Jellyfin播放问题 如何在Ubuntu上监控WebLogic的内存使用情况

游客 回复需填写必要信息