#!/bin/bash
# backup-metrics <job> — из ExecStopPost юнита бэкапа: пушит итог прогона (job=backup_<name>).
# last_success хранится локально: PUT в pushgateway заменяет группу целиком,
# и после неудачи время последнего успеха иначе бы потерялось.
set -uo pipefail
job="$1"; state=/var/lib/backup-metrics; mkdir -p "$state"
now=$(date +%s)
code=${EXIT_STATUS:-1}; [ "${SERVICE_RESULT:-}" = success ] && code=0
[ "$code" = 0 ] && echo "$now" > "$state/$job.success"
last_ok=$(cat "$state/$job.success" 2>/dev/null || echo 0)
metrics-push "$job" <<M
# TYPE backup_last_exit_code gauge
backup_last_exit_code $code
backup_last_run_timestamp $now
backup_last_success_timestamp $last_ok
M
