在CentOS上部署Jellyfin媒体服务器的备份与恢复策略是确保数据安全性和服务连续性的关键步骤。以下是一些详细的备份与恢复方法:
备份策略
-
使用tar命令进行备份:
- 进入Jellyfin的数据和配置目录,然后使用tar命令进行完全备份。
- 完全备份命令示例:
sudo tar -czvf jellyfin_backup.tar.gz /path/to/jellyfin
- 增量备份:如果需要定期进行增量备份,可以使用
-g
选项来创建增量备份。首先,创建一个快照文件,然后每次备份时使用相同的快照文件进行增量备份。sudo tar -czvf jellyfin_backup_incremental.tar.gz -g jellyfin_backup_snapshot.tar.gz /path/to/jellyfin
-
使用Jellyfin提供的备份脚本:
- 克隆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
- 克隆Jellyfin工具仓库:
-
使用S3进行备份:
- 安装依赖库:
sudo yum install automake fuse-devel gcc-c 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访问密钥文件并挂载S3存储桶:
echo "YOUR_S3_ACCESS_KEY:YOUR_S3_SECRET_KEY" > /etc/passwd-s3fs sudo chmod 600 /etc/passwd-s3fs sudo mount -t s3fs YOUR_BUCKET /mnt/oss -o passwd_file=/etc/passwd-s3fs,url=https://YOUR_S3_ENDPOINT,use_path_request_style
- 将Jellyfin数据备份到S3:
cp jellyfin_backup.tar.gz /mnt/oss/
- 安装依赖库:
恢复策略
-
手动恢复:
- 停止Jellyfin服务:
sudo systemctl stop jellyfin
- 恢复数据库:
mysqldump -u your_username -p your_database_name jellyfin_backup.sql | sudo mysql -u your_username -p your_database_name
- 恢复媒体文件:
rsync -av /var/lib/jellyfin/media /path/to/backup/location
- 停止Jellyfin服务:
-
使用Jellyfin管理界面恢复:
- 登录Jellyfin管理界面,进入备份设置,选择“恢复备份”并按照提示操作。
通过以上备份与恢复策略,您可以在CentOS上有效地管理Jellyfin媒体服务器的数据,确保在需要时能够快速恢复服务。