在Ubuntu上备份Jellyfin数据可以通过以下几种方法进行:
使用Docker容器备份
- 停止Jellyfin服务:
sudo systemctl stop jellyfin
- 备份Jellyfin配置文件和数据:
sudo tar -czvf jellyfin_backup.tar.gz -C /var/lib/jellyfin .
- 将备份文件复制到安全位置:
cp jellyfin_backup.tar.gz /path/to/external/drive/
使用文件系统备份工具
你可以使用 rsync
或 tar
命令来备份Jellyfin的数据目录。例如,使用 rsync
备份 /var/lib/jellyfin
目录到外部硬盘:
sudo rsync -avz /var/lib/jellyfin /path/to/external/drive/
使用备份软件
你可以使用一些备份工具,如 Apt-clone
或 Duplicity
,来备份整个系统或特定目录。这些工具可以帮助你创建一个可恢复的备份包,并将其存储在安全的位置。
Jellyfin提供的备份脚本
Jellyfin的GitHub仓库中包含了一些用于管理Jellyfin的脚本,你可以使用这些脚本来简化备份和恢复过程。
使用S3进行备份(如果配置了S3)
- 安装依赖库:
sudo apt 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访问密钥文件:
echo "YOUR_S3_ACCESS_KEY:YOUR_S3_SECRET_KEY" | sudo tee /etc/passwd-s3fs sudo chmod 600 /etc/passwd-s3fs
- 挂载S3存储桶:
mkdir -p /mnt/oss/YOUR_BUCKET sudo mount -t s3fs YOUR_BUCKET /mnt/oss -o passwd_file=/etc/passwd-s3fs -o url=https://YOUR_BUCKET_ENDPOINT -o use_path_request_style
- 将Jellyfin数据备份到S3:
cp jellyfin_backup.tar.gz /mnt/oss/
在进行备份之前,请确保Jellyfin服务已经停止,以避免数据不一致。备份过程中请确保数据已完整写入存储设备。定期进行备份,以防止数据丢失。