31 lines
974 B
Bash
31 lines
974 B
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
MODE="${1:-}"
|
|
SUCCESS_TOPIC="${2:-${RESTORE_SUCCESS_TOPIC:-homelab-info}}"
|
|
FAILURE_TOPIC="${RESTORE_FAILURE_TOPIC:-homelab-alerts}"
|
|
|
|
if [ -z "$MODE" ]; then
|
|
echo "Usage: $0 <freshness|vaultwarden|gitea|paperless> [success_topic]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
REPORT_ROOT="/mnt/user/backups/restore-reports"
|
|
REPORT_FILE="$REPORT_ROOT/${MODE}-$(date +%F).md"
|
|
|
|
mkdir -p "$REPORT_ROOT"
|
|
|
|
echo "Running restore job: $MODE"
|
|
echo "Report target: $REPORT_FILE"
|
|
|
|
if "$SCRIPT_DIR/run-restore-checks.sh" "$MODE" > "$REPORT_FILE"; then
|
|
echo "Restore job succeeded, sending ntfy..."
|
|
"$SCRIPT_DIR/send-ntfy.sh" "$SUCCESS_TOPIC" "Restore job ok: $MODE" "Restore job succeeded. Report: $REPORT_FILE" default || true
|
|
echo "Done"
|
|
else
|
|
echo "Restore job failed, sending ntfy..."
|
|
"$SCRIPT_DIR/send-ntfy.sh" "$FAILURE_TOPIC" "Restore job failed: $MODE" "Restore job failed. Report: $REPORT_FILE" high || true
|
|
exit 1
|
|
fi
|