- servers/rpi.md: новая домашняя Raspberry Pi 4 (Trixie, cloud-init), HDD 4 ТБ, грабли с питанием двух HDD от USB - stacks/rpi-backup: rclone sync с вечным архивом версий, еженедельная сверка хэшей, smartd, пуш SMART и статуса бэкапов - fr1: pushgateway (127.0.0.1:9091), приём по SSH через forced command ~/bin/pushgw-ingest, алерты группы rpi Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
802 B
Bash
Executable File
17 lines
802 B
Bash
Executable File
#!/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
|