#!/bin/bash

# === Chargement de la configuration Apprise ===
if [[ -f /root/apprise.env ]]; then
  source /root/apprise.env
else
  echo "❌ Fichier /root/apprise.env introuvable."
  exit 1
fi

# === Logging local (optionnel) ===
LOGFILE="/var/log/zfs_scrub.log"
exec >> "$LOGFILE" 2>&1
echo "=== $(date '+%Y-%m-%d %H:%M:%S') === Lancement du scrub ZFS ==="

# === Scrub de tous les pools ===
for pool in $(/sbin/zpool list -H -o name); do
  echo "→ Scrub de : $pool"
  /sbin/zpool scrub "$pool"
done

# === Vérification des résultats ===
MSG_OK="✅ ZFS scrub terminé : aucun problème détecté"
MSG_PROBLEM="⚠️ ZFS scrub : erreur(s) détectée(s) sur :"
HAS_ERROR=0

for pool in $(/sbin/zpool list -H -o name); do
  output=$(/sbin/zpool status "$pool")
  if echo "$output" | grep -q "errors: No known data errors"; then
    echo "→ $pool : OK"
  else
    echo "❌ $pool : problème détecté"
    MSG_PROBLEM+="\n- $pool"
    HAS_ERROR=1
  fi
done

# === Notification Apprise ===
if [[ "$HAS_ERROR" -eq 1 ]]; then
  curl -s -X POST -d "$MSG_PROBLEM" "$APPRISE_URL"
else
  # Tu peux activer la notification "OK" ici si tu veux une trace régulière :
  # curl -s -X POST -d "$MSG_OK" "$APPRISE_URL"
  echo "→ Aucun problème détecté. Aucune notification envoyée."
fi