restore.sh aktualisiert
parent
83342b9d07
commit
d8c3a4d72b
13
restore.sh
13
restore.sh
|
|
@ -101,7 +101,8 @@ SNAPSHOT_PATH=$(echo "$BACKUP_PATH" | cut -d: -f2)
|
||||||
PVE_BACKUP_REF="${PBS_STORAGE}:backup/${SNAPSHOT_PATH}"
|
PVE_BACKUP_REF="${PBS_STORAGE}:backup/${SNAPSHOT_PATH}"
|
||||||
|
|
||||||
# ── Pfade & Messvariablen ─────────────────────────────────────────────────────
|
# ── Pfade & Messvariablen ─────────────────────────────────────────────────────
|
||||||
ZIP_DIR="${RESTORE_MOUNT}/zips"
|
LAST_DATE=$(date +"%Y-%m-%d" -d "1 day ago")
|
||||||
|
ZIP_DIR="${RESTORE_MOUNT}/zips/${LAST_DATE}"
|
||||||
BACKUP_SERVER_HOST=$(cat /opt/windmill-restore/backup_server_host 2>/dev/null \
|
BACKUP_SERVER_HOST=$(cat /opt/windmill-restore/backup_server_host 2>/dev/null \
|
||||||
|| echo "backup-server")
|
|| echo "backup-server")
|
||||||
|
|
||||||
|
|
@ -463,17 +464,19 @@ echo " ZIP: $(( ZIP_SIZE_BYTES / 1024 / 1024 )) MB in ${ZIP_DURATION}s"
|
||||||
# 3 Versuche mit 60s Pause + Größenvergleich lokal vs. remote.
|
# 3 Versuche mit 60s Pause + Größenvergleich lokal vs. remote.
|
||||||
# ═════════════════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════════════════
|
||||||
echo ""
|
echo ""
|
||||||
echo "==> [10/12] Rsync → ${BACKUP_SERVER_HOST}:${RSYNC_TARGET}..."
|
# Rsync-Ziel mit Datumsordner
|
||||||
|
RSYNC_TARGET_DATE="${RSYNC_TARGET}/${LAST_DATE}"
|
||||||
|
echo "==> [10/12] Rsync → ${BACKUP_SERVER_HOST}:${RSYNC_TARGET_DATE}..."
|
||||||
MAX_RETRIES=3
|
MAX_RETRIES=3
|
||||||
|
|
||||||
rsync_transfer() {
|
rsync_transfer() {
|
||||||
rsync -avz --progress --timeout=300 \
|
rsync -avz --progress --timeout=300 \
|
||||||
"$ZIP_FILE" \
|
"$ZIP_FILE" \
|
||||||
"${BACKUP_SERVER_HOST}:${RSYNC_TARGET}/" \
|
"${BACKUP_SERVER_HOST}:${RSYNC_TARGET_DATE}/" \
|
||||||
2>&1
|
2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh "$BACKUP_SERVER_HOST" "mkdir -p '${RSYNC_TARGET}'" 2>/dev/null || true
|
ssh "$BACKUP_SERVER_HOST" "mkdir -p '${RSYNC_TARGET_DATE}'" 2>/dev/null || true
|
||||||
|
|
||||||
while [[ $RSYNC_RETRIES -lt $MAX_RETRIES ]]; do
|
while [[ $RSYNC_RETRIES -lt $MAX_RETRIES ]]; do
|
||||||
if rsync_transfer; then
|
if rsync_transfer; then
|
||||||
|
|
@ -497,7 +500,7 @@ done
|
||||||
|
|
||||||
if [[ "$RSYNC_OK" == "true" ]]; then
|
if [[ "$RSYNC_OK" == "true" ]]; then
|
||||||
REMOTE_SIZE=$(ssh "$BACKUP_SERVER_HOST" \
|
REMOTE_SIZE=$(ssh "$BACKUP_SERVER_HOST" \
|
||||||
"stat -c%s '${RSYNC_TARGET}/$(basename "$ZIP_FILE")'" \
|
"stat -c%s '${RSYNC_TARGET_DATE}/$(basename "$ZIP_FILE")'" \
|
||||||
2>/dev/null || echo "0")
|
2>/dev/null || echo "0")
|
||||||
if [[ "$REMOTE_SIZE" != "$ZIP_SIZE_BYTES" ]]; then
|
if [[ "$REMOTE_SIZE" != "$ZIP_SIZE_BYTES" ]]; then
|
||||||
echo " WARNUNG: Remote ${REMOTE_SIZE}B != lokal ${ZIP_SIZE_BYTES}B"
|
echo " WARNUNG: Remote ${REMOTE_SIZE}B != lokal ${ZIP_SIZE_BYTES}B"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue