Gestione backup falliti e cleanup

This commit is contained in:
marco.locatelli@steamware.net
2026-03-30 10:21:06 +02:00
parent 4bf188eece
commit 0e7c5139ff
2 changed files with 8 additions and 4 deletions
@@ -1,7 +1,7 @@
#!/bin/bash
# Backup logico per-database con retry, sicuro per cluster Galera
# Backup logico per-database con retry e cleanup automatico
# Sicuro per cluster Galera ad alto carico
# Autore: Marco + Copilot
# Obiettivo: dump affidabile anche su nodi molto attivi
set -euo pipefail
@@ -134,11 +134,15 @@ chmod 600 "$LOGFILE"
echo "[$(date '+%F %T')] [$SERVER_NAME] SIZE apparent: $size_apparent_human ($size_apparent_bytes bytes) for $TARGET" >> "$LOGFILE"
echo "[$(date '+%F %T')] [$SERVER_NAME] SIZE on-disk: $size_disk_human ($size_disk_bytes bytes) for $TARGET" >> "$LOGFILE"
# Risultato finale
# Risultato finale con cleanup in caso di fallimento
if [ "$FAILED" -eq 0 ]; then
echo "[$(date '+%F %T')] [$SERVER_NAME] RESULT: OK, all databases dumped successfully" >> "$LOGFILE"
else
echo "[$(date '+%F %T')] [$SERVER_NAME] RESULT: PARTIAL, failed databases:$FAILED_DBS" >> "$LOGFILE"
echo "[$(date '+%F %T')] [$SERVER_NAME] RESULT: FAILED, databases with errors:$FAILED_DBS" >> "$LOGFILE"
echo "[$(date '+%F %T')] [$SERVER_NAME] CLEANUP: removing incomplete backup directory $TARGET" >> "$LOGFILE"
rm -rf "$TARGET"
rm -f "$TMPLOG"
exit 1
fi
rm -f "$TMPLOG"