backup-automation/ansible/roles/borg-client/templates/backup-status-reporter.sh.j2

35 lines
875 B
Django/Jinja

#!/bin/bash
# Report Backup Status zurück zu Kestra/Monitoring
# Wird nach Backup aufgerufen
STATUS="${1:-UNKNOWN}"
LOG_FILE="${2:- }"
HOSTNAME="{{ ansible_hostname }}"
KESTRA_URL="https://kestra.pve.mbo-tech-it.de"
# Sammle Infos
BACKUP_SIZE=$(du -sh /var/backups/docker 2>/dev/null | cut -f1)
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}')
LAST_BACKUP_SIZE=$(du -sh {{ backup_repo_base }}/$HOSTNAME 2>/dev/null | cut -f1)
# Erstelle JSON Report
REPORT=$(cat <<EOF
{
"hostname": "$HOSTNAME",
"timestamp": "$(date -Iseconds)",
"status": "$STATUS",
"backup_size": "$BACKUP_SIZE",
"disk_usage": "$DISK_USAGE",
"last_backup_size": "$LAST_BACKUP_SIZE",
"log_file": "$LOG_FILE"
}
EOF
)
# Optional: Sende zu Monitoring/Logging
# curl -s -X POST "$KESTRA_URL/api/backup-status" \
# -H "Content-Type: application/json" \
# -d "$REPORT" || true
echo "$REPORT"