#!/bin/bash # Вызывается smartd при обнаружении проблемы (-M exec). # Аргументы: $1 = device, $2 = type (1=health, 2=usage, 3=fail), $3 = message # См. man smartd.conf NOTIFY_SCRIPT="${NOTIFY_SCRIPT:-/root/scripts/notify-telegram.sh}" DEVICE="${1:-unknown}" TYPE="${2:-}" MSG="${3:-}" # Дополнительный вывод smartd может быть в stdin EXTRA=$(cat 2>/dev/null || true) case "$TYPE" in 1) SUMMARY="Health check failed" ;; 2) SUMMARY="Usage attribute warning" ;; 3) SUMMARY="Usage attribute failure" ;; *) SUMMARY="SMART problem" ;; esac if [ -x "$NOTIFY_SCRIPT" ]; then BODY="Диск $DEVICE: $SUMMARY" [ -n "$MSG" ] && BODY="${BODY} $MSG" [ -n "$EXTRA" ] && BODY="${BODY} $EXTRA" "$NOTIFY_SCRIPT" "⚠️ SMART" "$BODY" || true fi exit 0