diff --git a/mariadb-backup/mariadb-backup-logic.sh b/mariadb-backup/mariadb-backup-logic-old.sh similarity index 100% rename from mariadb-backup/mariadb-backup-logic.sh rename to mariadb-backup/mariadb-backup-logic-old.sh diff --git a/mariadb-backup/mariadb-backup-logic-per-database.sh b/mariadb-backup/mariadb-backup-logic-per-database.sh index 956bd8f..660e014 100644 --- a/mariadb-backup/mariadb-backup-logic-per-database.sh +++ b/mariadb-backup/mariadb-backup-logic-per-database.sh @@ -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"