restore.sh aktualisiert
parent
3e873b0b17
commit
fec54b1cca
34
restore.sh
34
restore.sh
|
|
@ -2,7 +2,7 @@
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# /opt/windmill-restore/restore.sh
|
# /opt/windmill-restore/restore.sh
|
||||||
# Windmill Backup Restore Worker
|
# Windmill Backup Restore Worker
|
||||||
# Version: 1.0.23
|
# Version: 1.0.25
|
||||||
#
|
#
|
||||||
# Unterstützt sowohl VM (qm) als auch CT (pct) Backups.
|
# Unterstützt sowohl VM (qm) als auch CT (pct) Backups.
|
||||||
# Backup-Typ wird automatisch aus dem Backup-Pfad erkannt (vm/ oder ct/).
|
# Backup-Typ wird automatisch aus dem Backup-Pfad erkannt (vm/ oder ct/).
|
||||||
|
|
@ -87,6 +87,30 @@ SNAPSHOT_PATH=$(echo "$BACKUP_PATH" | cut -d: -f2-)
|
||||||
BACKUP_TYPE=$(echo "$SNAPSHOT_PATH" | cut -d/ -f1)
|
BACKUP_TYPE=$(echo "$SNAPSHOT_PATH" | cut -d/ -f1)
|
||||||
PVE_BACKUP_REF="${PBS_STORAGE}:backup/${SNAPSHOT_PATH}"
|
PVE_BACKUP_REF="${PBS_STORAGE}:backup/${SNAPSHOT_PATH}"
|
||||||
|
|
||||||
|
# ── Komprimierungsstufe festlegen ─────────────────────────────────────────────
|
||||||
|
# Standard: mx=1 (schnellste Komprimierung)
|
||||||
|
# Ausnahme: tnp-Invest-GmbH vm/108 → mx=0 (Store-Modus, kein Komprimieren)
|
||||||
|
# Hintergrund: Diese VM ist sehr groß und würde mit mx=1 ~10h brauchen.
|
||||||
|
COMPRESS_LEVEL=1
|
||||||
|
if [[ "$CLIENT_NAME" == "tnp-Invest-GmbH" ]] && \
|
||||||
|
echo "$SNAPSHOT_PATH" | grep -q "^vm/108/"; then
|
||||||
|
COMPRESS_LEVEL=0
|
||||||
|
echo "INFO: tnp-Invest-GmbH vm/108 erkannt → 7z Store-Modus (mx=0), kein Komprimieren."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ── 7z Thread-Anzahl je Host festlegen ────────────────────────────────────────
|
||||||
|
# STI-BAC01 → Ryzen 9 5950X (16 Kerne / 32 Threads) → mmt=16
|
||||||
|
# ITD-PROX01 → Ryzen 7 3700X ( 8 Kerne / 16 Threads) → mmt=8
|
||||||
|
# STI-PROX01 → Xeon E5-1650v3 ( 6 Kerne / 12 Threads) → mmt=6
|
||||||
|
# Fallback → mmt=4
|
||||||
|
case "$SERVER_HOSTNAME" in
|
||||||
|
STI-BAC01) MMT_THREADS=16 ;;
|
||||||
|
ITD-PROX01) MMT_THREADS=8 ;;
|
||||||
|
STI-PROX01) MMT_THREADS=6 ;;
|
||||||
|
*) MMT_THREADS=4 ;;
|
||||||
|
esac
|
||||||
|
echo "INFO: Server '$SERVER_HOSTNAME' → 7z mmt=${MMT_THREADS}"
|
||||||
|
|
||||||
# ── Messvariablen ─────────────────────────────────────────────────────────────
|
# ── Messvariablen ─────────────────────────────────────────────────────────────
|
||||||
LAST_DATE=$(date +"%Y-%m-%d" -d "1 day ago")
|
LAST_DATE=$(date +"%Y-%m-%d" -d "1 day ago")
|
||||||
|
|
||||||
|
|
@ -134,6 +158,7 @@ echo " Rsync-Target: $RSYNC_TARGET"
|
||||||
echo " Server: $SERVER_HOSTNAME"
|
echo " Server: $SERVER_HOSTNAME"
|
||||||
echo " Skip-Rsync: $SKIP_RSYNC"
|
echo " Skip-Rsync: $SKIP_RSYNC"
|
||||||
echo " Job-UUID: $JOB_UUID"
|
echo " Job-UUID: $JOB_UUID"
|
||||||
|
echo " 7z-Level: mx=${COMPRESS_LEVEL} mmt=${MMT_THREADS}"
|
||||||
echo " Start: $(date '+%Y-%m-%d %H:%M:%S')"
|
echo " Start: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||||
echo "============================================================"
|
echo "============================================================"
|
||||||
|
|
||||||
|
|
@ -595,14 +620,14 @@ echo " Name: $VM_NAME"
|
||||||
# [10/13] 7Z-ARCHIV
|
# [10/13] 7Z-ARCHIV
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [10/13] Erstelle verschlüsseltes 7z-Archiv..."
|
echo "==> [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)
|
||||||
|
|
||||||
7z a -t7z \
|
7z a -t7z \
|
||||||
-mmt=4 \
|
-mmt=${MMT_THREADS} \
|
||||||
-mx=1 \
|
-mx=${COMPRESS_LEVEL} \
|
||||||
-md=16M \
|
-md=16M \
|
||||||
-p"${ZIP_PASSWORD}" \
|
-p"${ZIP_PASSWORD}" \
|
||||||
-mhe=on \
|
-mhe=on \
|
||||||
|
|
@ -706,6 +731,7 @@ echo " Image-Dir: $IMAGE_DIR"
|
||||||
echo " qm-Agent/CT: $QM_AGENT_OK"
|
echo " qm-Agent/CT: $QM_AGENT_OK"
|
||||||
echo " Rsync: $RSYNC_OK (Versuche: $RSYNC_RETRIES)"
|
echo " Rsync: $RSYNC_OK (Versuche: $RSYNC_RETRIES)"
|
||||||
echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB"
|
echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB"
|
||||||
|
echo " 7z-Level: mx=${COMPRESS_LEVEL} mmt=${MMT_THREADS}"
|
||||||
[[ -n "$ERROR_MSG" ]] && echo " Fehler: $ERROR_MSG"
|
[[ -n "$ERROR_MSG" ]] && echo " Fehler: $ERROR_MSG"
|
||||||
echo "============================================================"
|
echo "============================================================"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue