溫馨提示×

怎樣在ubuntu上遷移jellyfin數據

小樊
48
2025-09-19 11:23:30
欄目: 智能運維

在Ubuntu上遷移Jellyfin數據的完整步驟

遷移Jellyfin數據的核心是備份現有環境的配置與媒體文件,然后在目標Ubuntu系統(或同一系統的升級環境)中恢復這些數據。以下是詳細操作流程:

一、準備工作

  1. 確認現有環境信息
    記錄當前Jellyfin的安裝方式(Docker/系統包)、配置文件路徑(通常為/etc/jellyfin或容器內的/config)、媒體文件存儲路徑(通常為/var/lib/jellyfin/media或自定義路徑)、數據庫類型(默認使用SQLite,若使用MySQL/PostgreSQL需額外備份數據庫)。
  2. 準備目標系統
    確保目標Ubuntu系統已安裝與現有環境相同版本的Jellyfin(避免版本差異導致兼容性問題),并安裝必要依賴(如ffmpeg、libicu等)??赏ㄟ^sudo apt install ffmpeg libicu安裝基礎依賴。

二、備份現有Jellyfin數據

1. 停止Jellyfin服務

為避免數據不一致,遷移前必須停止Jellyfin服務:

sudo systemctl stop jellyfin

2. 備份配置文件

Jellyfin的配置文件(含用戶設置、插件、轉碼規則等)通常位于/etc/jellyfin目錄。使用tar命令打包備份:

sudo tar -czvf jellyfin_config_backup.tar.gz -C /etc jellyfin

備份文件默認保存在當前目錄,可復制到外部存儲(如U盤、NAS):

sudo cp jellyfin_config_backup.tar.gz /mnt/external_drive/

3. 備份媒體文件

媒體文件(電影、電視劇、音樂等)的存儲路徑可通過Jellyfin管理界面(http://your_server_ip:8096 → 左側“系統”→“存儲”)查看,通常為/var/lib/jellyfin/media。使用rsync命令備份(保留文件屬性且支持增量備份):

sudo rsync -av /var/lib/jellyfin/media /mnt/external_drive/media_backup

若媒體文件存儲在自定義路徑(如/opt/media),需替換上述命令中的路徑。

4. 備份數據庫(僅非SQLite用戶需要)

若Jellyfin使用MySQL/PostgreSQL數據庫(默認使用SQLite,無需備份),需通過mysqldumppg_dump導出數據庫:

  • MySQL示例
    mysql -u root -p -e "CREATE DATABASE jellyfin_backup; GRANT ALL PRIVILEGES ON jellyfin_backup.* TO 'jellyfin_user'@'localhost';"
    mysqldump -u jellyfin_user -p jellyfin > /mnt/external_drive/jellyfin_db_backup.sql
    
  • PostgreSQL示例
    pg_dump -U jellyfin_user jellyfin > /mnt/external_drive/jellyfin_db_backup.sql
    

三、在目標Ubuntu系統上恢復數據

1. 安裝Jellyfin

若目標系統未安裝Jellyfin,可通過以下命令安裝(以Ubuntu 22.04為例):

sudo apt update
sudo apt install jellyfin

2. 恢復配置文件

將備份的配置文件復制到目標系統的/etc/jellyfin目錄:

sudo tar -xzvf /mnt/external_drive/jellyfin_config_backup.tar.gz -C /etc

若使用Docker部署,需將配置文件復制到容器的/config目錄(通過docker cp命令)。

3. 恢復媒體文件

將備份的媒體文件復制到目標系統的媒體存儲路徑(需與現有環境一致):

sudo rsync -av /mnt/external_drive/media_backup/ /var/lib/jellyfin/media

4. 恢復數據庫(僅非SQLite用戶需要)

若使用了MySQL/PostgreSQL數據庫,需導入備份的SQL文件:

  • MySQL示例
    mysql -u jellyfin_user -p jellyfin < /mnt/external_drive/jellyfin_db_backup.sql
    
  • PostgreSQL示例
    psql -U jellyfin_user jellyfin < /mnt/external_drive/jellyfin_db_backup.sql
    

5. 啟動Jellyfin服務

恢復完成后,啟動Jellyfin服務并設置開機自啟:

sudo systemctl start jellyfin
sudo systemctl enable jellyfin

6. 驗證遷移結果

訪問Jellyfin管理界面(http://your_server_ip:8096),檢查以下內容:

  • 用戶設置、插件是否正常;
  • 媒體庫是否顯示原有文件;
  • 轉碼規則、播放設備是否兼容。

四、注意事項

  • 版本一致性:遷移前后Jellyfin版本需保持一致(如現有環境為10.8.0,目標環境也需安裝10.8.0),避免因版本升級導致的數據庫結構變化。
  • 數據完整性:備份前停止Jellyfin服務,防止數據寫入沖突;恢復后檢查備份文件的權限(如媒體文件需屬于jellyfin用戶)。
  • Docker特殊處理:若使用Docker部署,需備份容器的/config、/cache目錄及掛載的媒體卷,恢復時重新創建容器并掛載備份的目錄。
  • 數據庫備份:若使用SQLite(默認),數據庫文件位于/var/lib/jellyfin/database.db,可直接備份該文件;若使用MySQL/PostgreSQL,需單獨備份數據庫。

通過以上步驟,即可完成Ubuntu系統上Jellyfin數據的完整遷移。遷移過程中如遇問題,可參考Jellyfin官方文檔或社區論壇獲取支持。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女