温馨提示×

jellyfin在centos上的备份策略

小樊
47
2025-05-08 22:03:20
栏目: 智能运维

在CentOS上备份Jellyfin数据可以通过多种方法实现,以下是几种常见的备份策略:

完全备份

  • 进入Jellyfin的数据和配置目录,使用 tar 命令进行完全备份。例如:

    sudo tar -czvf jellyfin_backup.tar.gz /path/to/jellyfin
    

    这将创建一个名为 jellyfin_backup.tar.gz 的压缩备份文件。

增量备份

  • 如果你需要定期进行增量备份,可以使用 -g 选项来创建增量备份。首先,创建一个快照文件:

    sudo tar -czvf jellyfin_backup_snapshot.tar.gz /path/to/jellyfin
    

    然后,每次备份时,使用相同的快照文件进行增量备份:

    sudo tar -czvf jellyfin_backup_incremental.tar.gz -g jellyfin_backup_snapshot.tar.gz /path/to/jellyfin
    

使用Jellyfin提供的备份脚本

  • Jellyfin官方提供了一个GitHub仓库,其中包含了一些用于管理Jellyfin的脚本。你可以使用这些脚本来简化备份和恢复过程。以下是使用这些脚本的基本步骤:

    • 克隆仓库:

      git clone https://github.com/Therkelsen/jellyfin_tools.git
      
    • 赋予执行权限:

      cd jellyfin_tools
      sudo chmod +x create_jellyfin_backup.sh update_jellyfin_installation.sh restore_jellyfin_backup.sh restart_jellyfin start_jellyfin stop_jellyfin status_jellyfin
      
    • 创建备份:

      ./create_jellyfin_backup.sh
      
    • 恢复备份:

      ./restore_jellyfin_backup.sh
      

使用S3进行备份

  • 如果你已经在CentOS上配置了S3,可以将Jellyfin的数据备份到S3存储桶中。可以使用 s3fs-fuse 来挂载S3存储桶,然后将数据备份到S3中。以下是具体步骤:

    • 安装依赖库:

      sudo yum install automake fuse-devel gcc git libcurl-devel libxml2-devel make openssl-devel -y
      
    • 下载并编译 s3fs-fuse

      git clone https://github.com/s3fs-fuse/s3fs-fuse.git
      cd s3fs-fuse
      ./autogen.sh
      ./configure
      make && sudo make install
      
    • 创建S3访问密钥文件:

      echo "YOUR_S3_ACCESS_KEY:YOUR_S3_SECRET_KEY" > /etc/passwd-s3fs
      sudo chmod 600 /etc/passwd-s3fs
      
    • 挂载S3存储桶:

      mkdir -p /mnt/oss
      s3fs YOUR_BUCKET /mnt/oss -o passwd_file=/etc/passwd-s3fs -o url=https://YOUR_S3_ENDPOINT -o use_path_request_style
      
    • 将Jellyfin数据备份到S3:

      cp jellyfin_backup.tar.gz /mnt/oss/
      

手动备份数据库和媒体文件

  • 如果你需要更细粒度的控制或想要备份到其他位置,可以手动备份Jellyfin的数据库和媒体文件。备份数据库:

    • 停止Jellyfin服务:

      sudo systemctl stop jellyfin
      
    • 备份数据库:

      mysqldump -u your_username -p your_database_name jellyfin_backup.sql
      
    • 启动Jellyfin服务:

      sudo systemctl start jellyfin
      
    • 备份媒体文件:

      • 确定媒体文件存储位置:通常在 /var/lib/jellyfin/media/opt/jellyfin/media 目录下。

      • 复制媒体文件:

        sudo rsync -av /var/lib/jellyfin/media /path/to/backup/location
        

        或者:

        sudo cp -R /var/lib/jellyfin/media /path/to/backup/location
        

注意事项

  • 确保备份过程中系统稳定,避免在备份时进行大规模的数据写入操作。
  • 定期检查备份文件的完整性和可恢复性。
  • 如果使用外部存储设备,确保其连接稳定且容量足够。

通过以上方法,你可以在CentOS上有效地备份Jellyfin的数据,确保在需要时能够快速恢复服务。

0