restore.sh aktualisiert

main
sebastian.serfling 2026-03-16 14:25:36 +00:00
parent 9da41592df
commit 9de48fa2ae
1 changed files with 30 additions and 1 deletions

View File

@ -338,6 +338,18 @@ if [[ ! -d "$VM_IMAGE_DIR" ]] || [[ -z "$(ls -A "$VM_IMAGE_DIR" 2>/dev/null)" ]]
fi
echo " Images vorhanden ✓"
# ── Originale Config sichern BEVOR wir Netzwerkkarten etc. entfernen ─────────
# Die originale Config (mit Netzwerkkarten, original settings) wird gesichert
# und später ins ZIP gepackt damit die VM vollständig wiederhergestellt werden kann.
PVE_CONF="/etc/pve/qemu-server/${VM_ID_RESTORED}.conf"
ORIG_CONF_BACKUP="${VM_IMAGE_DIR}/qemu-server.original.conf"
if [[ -f "$PVE_CONF" ]]; then
cp "$PVE_CONF" "$ORIG_CONF_BACKUP"
echo " Originale Config gesichert: $ORIG_CONF_BACKUP"
else
echo " WARNUNG: PVE-Config nicht gefunden: $PVE_CONF"
fi
# ═════════════════════════════════════════════════════════════════════════════
# [6/12] VM VORBEREITEN
# unlock → stop → cdrom/ide0 entfernen → alle Netzwerkkarten (net0-net10)
@ -417,6 +429,15 @@ sleep 5
echo ""
echo "==> [9/12] Erstelle verschlüsseltes 7z-Archiv..."
# Originale Config (mit Netzwerkkarten) als qemu-server.conf ins ZIP-Verzeichnis
# legen nicht die angepasste Config (ohne Netzwerkkarten) vom Restore-Test.
if [[ -f "$ORIG_CONF_BACKUP" ]]; then
cp "$ORIG_CONF_BACKUP" "${VM_IMAGE_DIR}/qemu-server.conf"
echo " Originale Config für ZIP wiederhergestellt ✓"
else
echo " WARNUNG: Keine originale Config vorhanden angepasste Config wird gezippt."
fi
VM_CONF="${VM_IMAGE_DIR}/qemu-server.conf"
VM_NAME=$(grep -m1 "^name:" "$VM_CONF" 2>/dev/null \
| awk -F': ' '{print $2}' | tr -d '[:space:]' \
@ -525,4 +546,12 @@ echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB"
echo "============================================================"
trap - ERR
send_webhook "$STATUS" "$ERROR_MSG"
send_webhook "$STATUS" "$ERROR_MSG"
curl -u 'reporting:5xw#HLH5kbMDbxNUUVA6iQcstytm4Ss4g9iGy7ZoLCTDTku6GPcXNHgRfSFgci9R' \
'https://cloudstorage.stines.de/ocs/v2.php/apps/spreed/api/v1/chat/btrv2jb9' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'OCS-APIRequest: true' \
-X POST \
--data-raw '{"message":"$STATUS"}'