restore.sh aktualisiert
add $(date '+%Y-%m-%d %H:%M:%S') to Echo for prozess start Infomain
parent
ccddbfd2d1
commit
dc911dc983
30
restore.sh
30
restore.sh
|
|
@ -206,7 +206,7 @@ send_webhook() {
|
||||||
"$QM_AGENT_OK" "$LOG_FILE")
|
"$QM_AGENT_OK" "$LOG_FILE")
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> Sende Webhook..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> Sende Webhook..."
|
||||||
echo " Payload: $payload"
|
echo " Payload: $payload"
|
||||||
local http_response
|
local http_response
|
||||||
http_response=$(curl -s -w "\n%{http_code}" \
|
http_response=$(curl -s -w "\n%{http_code}" \
|
||||||
|
|
@ -250,7 +250,7 @@ trap 'STATUS="failed"
|
||||||
# [0/13] 7Z-PASSWORT VOM PBS-SERVER HOLEN
|
# [0/13] 7Z-PASSWORT VOM PBS-SERVER HOLEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [0/13] 7z-Passwort vom PBS-Server holen ($PBS_HOST)..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [0/13] 7z-Passwort vom PBS-Server holen ($PBS_HOST)..."
|
||||||
mkdir -p "$KEY_DIR"
|
mkdir -p "$KEY_DIR"
|
||||||
chmod 700 "$KEY_DIR"
|
chmod 700 "$KEY_DIR"
|
||||||
|
|
||||||
|
|
@ -280,7 +280,7 @@ echo " 7z-Passwort geladen ✓"
|
||||||
# [1/13] SPACE-CHECK
|
# [1/13] SPACE-CHECK
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [1/13] Prüfe freien Speicherplatz auf $RESTORE_MOUNT..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [1/13] Prüfe freien Speicherplatz auf $RESTORE_MOUNT..."
|
||||||
mkdir -p "$ZIP_DIR"
|
mkdir -p "$ZIP_DIR"
|
||||||
FREE_KB=$(df "$RESTORE_MOUNT" 2>/dev/null | awk 'NR==2{print $4}' || echo "0")
|
FREE_KB=$(df "$RESTORE_MOUNT" 2>/dev/null | awk 'NR==2{print $4}' || echo "0")
|
||||||
FREE_GB=$(( FREE_KB / 1024 / 1024 ))
|
FREE_GB=$(( FREE_KB / 1024 / 1024 ))
|
||||||
|
|
@ -291,7 +291,7 @@ echo " Frei: ${FREE_GB} GB"
|
||||||
# [2/13] ID ERMITTELN
|
# [2/13] ID ERMITTELN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [2/13] Ermittle IDs..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [2/13] Ermittle IDs..."
|
||||||
VM_ID_ORIGINAL=$(echo "$SNAPSHOT_PATH" | grep -oP '\d+' | head -1 || echo "0")
|
VM_ID_ORIGINAL=$(echo "$SNAPSHOT_PATH" | grep -oP '\d+' | head -1 || echo "0")
|
||||||
echo " Original-ID: $VM_ID_ORIGINAL (Typ: $BACKUP_TYPE)"
|
echo " Original-ID: $VM_ID_ORIGINAL (Typ: $BACKUP_TYPE)"
|
||||||
|
|
||||||
|
|
@ -321,7 +321,7 @@ echo " Restore-ID: $VM_ID_RESTORED"
|
||||||
# ob ZIP bereits auf dem Backup-Server existiert → Restore überspringen
|
# ob ZIP bereits auf dem Backup-Server existiert → Restore überspringen
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [2.5/13] Config aus PBS-Backup lesen..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [2.5/13] Config aus PBS-Backup lesen..."
|
||||||
|
|
||||||
CONFIG_VM_NAME=""
|
CONFIG_VM_NAME=""
|
||||||
CONFIG_TMP="/tmp/pbs_config_${VM_ID_ORIGINAL}_$$.conf"
|
CONFIG_TMP="/tmp/pbs_config_${VM_ID_ORIGINAL}_$$.conf"
|
||||||
|
|
@ -395,7 +395,7 @@ fi
|
||||||
# [3/13] RESTORE
|
# [3/13] RESTORE
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [3/13] Restore vom PBS-Storage ($BACKUP_TYPE)..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [3/13] Restore vom PBS-Storage ($BACKUP_TYPE)..."
|
||||||
echo " Backup-Ref: $PVE_BACKUP_REF"
|
echo " Backup-Ref: $PVE_BACKUP_REF"
|
||||||
echo " Storage: $RESTORE_PATH"
|
echo " Storage: $RESTORE_PATH"
|
||||||
echo " ID: $VM_ID_RESTORED"
|
echo " ID: $VM_ID_RESTORED"
|
||||||
|
|
@ -421,7 +421,7 @@ echo " Restore abgeschlossen in ${RESTORE_DURATION}s"
|
||||||
# [4/13] IMAGE_DIR DYNAMISCH ERMITTELN
|
# [4/13] IMAGE_DIR DYNAMISCH ERMITTELN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [4/13] Ermittle Image-Verzeichnis..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [4/13] Ermittle Image-Verzeichnis..."
|
||||||
STORAGE_BASE=$(pvesh get "/storage/${RESTORE_PATH}" --output-format json \
|
STORAGE_BASE=$(pvesh get "/storage/${RESTORE_PATH}" --output-format json \
|
||||||
2>/dev/null | python3 -c "
|
2>/dev/null | python3 -c "
|
||||||
import json, sys
|
import json, sys
|
||||||
|
|
@ -478,7 +478,7 @@ echo " Image-Größe: $(( ACTUAL_DISK_BYTES / 1024 / 1024 / 1024 )) GB"
|
||||||
# [5/13] IMAGES PRÜFEN
|
# [5/13] IMAGES PRÜFEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [5/13] Prüfe Images..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [5/13] Prüfe Images..."
|
||||||
if [[ ! -d "$IMAGE_DIR" ]] || [[ -z "$(ls -A "$IMAGE_DIR" 2>/dev/null)" ]]; then
|
if [[ ! -d "$IMAGE_DIR" ]] || [[ -z "$(ls -A "$IMAGE_DIR" 2>/dev/null)" ]]; then
|
||||||
ERROR_MSG="IMAGE_DIR leer oder nicht vorhanden: $IMAGE_DIR"
|
ERROR_MSG="IMAGE_DIR leer oder nicht vorhanden: $IMAGE_DIR"
|
||||||
echo " FEHLER: $ERROR_MSG"
|
echo " FEHLER: $ERROR_MSG"
|
||||||
|
|
@ -498,7 +498,7 @@ echo " Images vorhanden ✓"
|
||||||
# [6/13] VORBEREITEN
|
# [6/13] VORBEREITEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [6/13] Vorbereiten ($BACKUP_TYPE)..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [6/13] Vorbereiten ($BACKUP_TYPE)..."
|
||||||
|
|
||||||
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
||||||
pct unlock "$VM_ID_RESTORED" 2>/dev/null || true
|
pct unlock "$VM_ID_RESTORED" 2>/dev/null || true
|
||||||
|
|
@ -525,7 +525,7 @@ fi
|
||||||
# [7/13] STARTEN & PRÜFEN
|
# [7/13] STARTEN & PRÜFEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [7/13] Starte & prüfe ($BACKUP_TYPE)..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [7/13] Starte & prüfe ($BACKUP_TYPE)..."
|
||||||
|
|
||||||
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
||||||
pct start "$VM_ID_RESTORED" 2>/dev/null || true
|
pct start "$VM_ID_RESTORED" 2>/dev/null || true
|
||||||
|
|
@ -567,7 +567,7 @@ fi
|
||||||
# [8/13] STOPPEN
|
# [8/13] STOPPEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [8/13] Stoppe $BACKUP_TYPE..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [8/13] Stoppe $BACKUP_TYPE..."
|
||||||
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
||||||
pct stop "$VM_ID_RESTORED" 2>/dev/null || true
|
pct stop "$VM_ID_RESTORED" 2>/dev/null || true
|
||||||
sleep 10
|
sleep 10
|
||||||
|
|
@ -587,7 +587,7 @@ echo " Gestoppt."
|
||||||
# [9/13] CONFIG SICHERN
|
# [9/13] CONFIG SICHERN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [9/13] Config sichern..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [9/13] Config sichern..."
|
||||||
|
|
||||||
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
||||||
PVE_CONF="/etc/pve/lxc/${VM_ID_RESTORED}.conf"
|
PVE_CONF="/etc/pve/lxc/${VM_ID_RESTORED}.conf"
|
||||||
|
|
@ -615,7 +615,7 @@ echo " Name: $VM_NAME"
|
||||||
# [10/13] 7Z-ARCHIV
|
# [10/13] 7Z-ARCHIV
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [10/13] Erstelle verschlüsseltes 7z-Archiv (mx=${COMPRESS_LEVEL})..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [10/13] Erstelle verschlüsseltes 7z-Archiv (mx=${COMPRESS_LEVEL})..."
|
||||||
|
|
||||||
ZIP_FILE="${ZIP_DIR}/${VM_NAME}-${VM_ID_ORIGINAL}.7z"
|
ZIP_FILE="${ZIP_DIR}/${VM_NAME}-${VM_ID_ORIGINAL}.7z"
|
||||||
ZIP_START=$(date +%s)
|
ZIP_START=$(date +%s)
|
||||||
|
|
@ -639,7 +639,7 @@ echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB in ${ZIP_DURATION}s"
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
RSYNC_TARGET_DATE="${RSYNC_TARGET}/${LAST_DATE}"
|
RSYNC_TARGET_DATE="${RSYNC_TARGET}/${LAST_DATE}"
|
||||||
echo "==> [11/13] Rsync / Datei-Transfer..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [11/13] Rsync / Datei-Transfer..."
|
||||||
|
|
||||||
if [[ "$SKIP_RSYNC" == "1" ]]; then
|
if [[ "$SKIP_RSYNC" == "1" ]]; then
|
||||||
echo " Lokaler Modus: ZIP bereits in ${RSYNC_TARGET_DATE} – kein Rsync."
|
echo " Lokaler Modus: ZIP bereits in ${RSYNC_TARGET_DATE} – kein Rsync."
|
||||||
|
|
@ -697,7 +697,7 @@ fi
|
||||||
# [12/13] AUFRÄUMEN
|
# [12/13] AUFRÄUMEN
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [12/13] Aufräumen..."
|
echo "$(date '+%Y-%m-%d %H:%M:%S') ==> [12/13] Aufräumen..."
|
||||||
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
if [[ "$BACKUP_TYPE" == "ct" ]]; then
|
||||||
pct destroy "$VM_ID_RESTORED" --purge 1 \
|
pct destroy "$VM_ID_RESTORED" --purge 1 \
|
||||||
2>/dev/null || echo " CT $VM_ID_RESTORED nicht mehr vorhanden."
|
2>/dev/null || echo " CT $VM_ID_RESTORED nicht mehr vorhanden."
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue