Strip mediaserver hardware config for new server migration

Clear old disk UUIDs, boot config, and filesystem mounts.
Add backup script for migrating service state to new hardware.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ediblerope 2026-04-14 15:33:07 +01:00
parent 570d0aadac
commit b06b2b04e3
2 changed files with 42 additions and 57 deletions

41
backup-server.sh Executable file
View file

@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -euo pipefail
BACKUP_DIR="/mnt/disk4/server-backup-$(date +%Y%m%d)"
echo "Backing up to: $BACKUP_DIR"
mkdir -p "$BACKUP_DIR"
# Stop services first to get clean copies
echo "Stopping services..."
sudo systemctl stop jellyfin sonarr radarr prowlarr bazarr qbittorrent-nox authelia-main 2>/dev/null || true
sleep 3
# Service databases and config
for dir in jellyfin sonarr radarr prowlarr bazarr qbittorrent authelia-main; do
if [ -d "/var/lib/$dir" ]; then
echo "Backing up /var/lib/$dir ..."
sudo mkdir -p "$BACKUP_DIR/var-lib/$dir"
sudo rsync -a "/var/lib/$dir/" "$BACKUP_DIR/var-lib/$dir/"
else
echo "Skipping /var/lib/$dir (not found)"
fi
done
# Secrets
if [ -d "/var/secrets" ]; then
echo "Backing up /var/secrets ..."
sudo mkdir -p "$BACKUP_DIR/var-secrets"
sudo rsync -a "/var/secrets/" "$BACKUP_DIR/var-secrets/"
else
echo "Skipping /var/secrets (not found)"
fi
echo ""
echo "Backup complete: $BACKUP_DIR"
echo ""
echo "Size: $(sudo du -sh "$BACKUP_DIR" | cut -f1)"
echo ""
echo "NOTE: Media files on /mnt/storage are NOT included — move the data disks to the new server directly."
echo ""
echo "Restarting services..."
sudo systemctl start jellyfin sonarr radarr prowlarr bazarr qbittorrent-nox authelia-main 2>/dev/null || true