Handle Borg warning exit codes on Tomedo branch
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
# nur dann beendet, wenn dieses Skript es selbst hochgebracht hat.
|
||||
# Zusätzlich: Schutz gegen parallele Ausführung per flock.
|
||||
|
||||
set -euo pipefail
|
||||
set -Eeuo pipefail
|
||||
|
||||
# -----------------------------
|
||||
# Konfiguration
|
||||
@@ -159,6 +159,7 @@ on_error() {
|
||||
local line_no="${1:-unknown}"
|
||||
log "FEHLER in Zeile ${line_no}, Exit-Code ${exit_code}"
|
||||
send_pushover "Backup FEHLER auf $(hostname): Zeile ${line_no}, Exit-Code ${exit_code}" 1
|
||||
trap - EXIT
|
||||
cleanup
|
||||
exit "$exit_code"
|
||||
}
|
||||
@@ -431,6 +432,26 @@ rsync_tomedo_backup() {
|
||||
# -----------------------------
|
||||
# Borg: lokal sichern + Mirror auf CIFS
|
||||
# -----------------------------
|
||||
run_borg_allow_warning() {
|
||||
local label="$1"
|
||||
shift
|
||||
|
||||
local rc
|
||||
set +e
|
||||
"$@"
|
||||
rc=$?
|
||||
set -e
|
||||
|
||||
if [[ "$rc" -ge 2 ]]; then
|
||||
log "FEHLER: ${label} fehlgeschlagen (Exit-Code ${rc})."
|
||||
return "$rc"
|
||||
fi
|
||||
|
||||
if [[ "$rc" -eq 1 ]]; then
|
||||
log "WARNUNG: ${label} mit Warnungen beendet (Exit-Code 1), mache weiter."
|
||||
fi
|
||||
}
|
||||
|
||||
borg_local_backup() {
|
||||
log "== Borg lokal Backup -> $LOCAL_BORG_REPO =="
|
||||
|
||||
@@ -450,7 +471,7 @@ borg_local_backup() {
|
||||
local archive="agathe-$(hostname)-$(date +%F_%H%M%S)"
|
||||
log "Platz lokal: $(df -h "$LOCAL_BORG_BASE" | tail -1)"
|
||||
|
||||
borg create --stats --compression zstd,6 \
|
||||
run_borg_allow_warning "borg create" borg create --stats --compression zstd,6 \
|
||||
"$LOCAL_BORG_REPO::$archive" \
|
||||
/ \
|
||||
/boot \
|
||||
@@ -476,14 +497,14 @@ borg_local_backup() {
|
||||
--exclude /mnt/groot \
|
||||
--exclude-caches
|
||||
|
||||
borg prune -v --list "$LOCAL_BORG_REPO" \
|
||||
run_borg_allow_warning "borg prune" borg prune -v --list "$LOCAL_BORG_REPO" \
|
||||
--keep-daily="$KEEP_DAILY" \
|
||||
--keep-weekly="$KEEP_WEEKLY" \
|
||||
--keep-monthly="$KEEP_MONTHLY" \
|
||||
--prefix "agathe-$(hostname)-"
|
||||
|
||||
if [[ "$BORG_CHECK" == "1" ]]; then
|
||||
borg check -v --verify-data "$LOCAL_BORG_REPO"
|
||||
run_borg_allow_warning "borg check" borg check -v --verify-data "$LOCAL_BORG_REPO"
|
||||
fi
|
||||
|
||||
log "Lokales Borg Backup fertig: $archive"
|
||||
|
||||
Reference in New Issue
Block a user