35 lines
871 B
Django/Jinja
35 lines
871 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.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"
|