restore.sh aktualisiert
parent
3e873b0b17
commit
fec54b1cca
34
restore.sh
34
restore.sh
|
|
@ -2,7 +2,7 @@
|
|||
# =============================================================================
|
||||
# /opt/windmill-restore/restore.sh
|
||||
# Windmill Backup Restore Worker
|
||||
# Version: 1.0.23
|
||||
# Version: 1.0.25
|
||||
#
|
||||
# Unterstützt sowohl VM (qm) als auch CT (pct) Backups.
|
||||
# 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)
|
||||
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 ─────────────────────────────────────────────────────────────
|
||||
LAST_DATE=$(date +"%Y-%m-%d" -d "1 day ago")
|
||||
|
||||
|
|
@ -134,6 +158,7 @@ echo " Rsync-Target: $RSYNC_TARGET"
|
|||
echo " Server: $SERVER_HOSTNAME"
|
||||
echo " Skip-Rsync: $SKIP_RSYNC"
|
||||
echo " Job-UUID: $JOB_UUID"
|
||||
echo " 7z-Level: mx=${COMPRESS_LEVEL} mmt=${MMT_THREADS}"
|
||||
echo " Start: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo "============================================================"
|
||||
|
||||
|
|
@ -595,14 +620,14 @@ echo " Name: $VM_NAME"
|
|||
# [10/13] 7Z-ARCHIV
|
||||
# ═════════════════════════════════════════════════════════════════════════════
|
||||
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_START=$(date +%s)
|
||||
|
||||
7z a -t7z \
|
||||
-mmt=4 \
|
||||
-mx=1 \
|
||||
-mmt=${MMT_THREADS} \
|
||||
-mx=${COMPRESS_LEVEL} \
|
||||
-md=16M \
|
||||
-p"${ZIP_PASSWORD}" \
|
||||
-mhe=on \
|
||||
|
|
@ -706,6 +731,7 @@ echo " Image-Dir: $IMAGE_DIR"
|
|||
echo " qm-Agent/CT: $QM_AGENT_OK"
|
||||
echo " Rsync: $RSYNC_OK (Versuche: $RSYNC_RETRIES)"
|
||||
echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB"
|
||||
echo " 7z-Level: mx=${COMPRESS_LEVEL} mmt=${MMT_THREADS}"
|
||||
[[ -n "$ERROR_MSG" ]] && echo " Fehler: $ERROR_MSG"
|
||||
echo "============================================================"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue