#!/bin/bash
#
# Skrypt do przywracania backupu Home Assistant
# Użycie: ./restore-backup.sh <backup_file> [test|prod]
#
set -e
BACKUP_FILE="$1"
ENVIRONMENT="${2:-prod}"
if [ -z "$BACKUP_FILE" ]; then
echo "❌ Użycie: $0 <backup_file> [test|prod]"
echo ""
echo "Dostępne backupy:"
ls -lh ./backups/*.tar.gz 2>/dev/null || echo " Brak backupów"
exit 1
fi
if [ ! -f "$BACKUP_FILE" ]; then
echo "❌ Plik nie istnieje: $BACKUP_FILE"
exit 1
fi
if [ "$ENVIRONMENT" = "test" ]; then
TARGET_IP="192.168.50.210"
TARGET_NAME="TEST"
elif [ "$ENVIRONMENT" = "prod" ]; then
TARGET_IP="192.168.50.211"
TARGET_NAME="PROD"
else
echo "❌ Nieznane środowisko: $ENVIRONMENT"
exit 1
fi
echo "======================================"
echo "♻️ Przywracanie backupu"
echo "======================================"
echo "Backup: $BACKUP_FILE"
echo "Środowisko: $TARGET_NAME ($TARGET_IP)"
echo "======================================"
echo ""
read -p "⚠️ To NADPISZE aktualną konfigurację! Kontynuować? (tak/nie): " confirm
if [ "$confirm" != "tak" ]; then
echo "❌ Anulowano"
exit 0
fi
echo ""
echo "📤 Wysyłanie backupu do $TARGET_NAME..."
cat "$BACKUP_FILE" | sshpass -p "QWer!@34" ssh -o StrictHostKeyChecking=no root@${TARGET_IP} "cd /root && tar xzf -"
echo "♻️ Restart Home Assistant..."
sshpass -p "QWer!@34" ssh -o StrictHostKeyChecking=no root@${TARGET_IP} \
"ha core restart" 2>/dev/null || \
sshpass -p "QWer!@34" ssh -o StrictHostKeyChecking=no root@${TARGET_IP} \
"systemctl restart home-assistant@homeassistant.service" || true
echo ""
echo "✅ Backup przywrócony pomyślnie!"
echo ""
echo "🌐 Sprawdź: http://${TARGET_IP}:8123"
echo "======================================"