activation de ntfy
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#
|
||||
# 20260308 -
|
||||
# ajout de l'autoupdate
|
||||
# ajout du support ntfy.sh (prioritaire sur le mail)
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
THRESHOLD=80
|
||||
@@ -14,8 +15,24 @@ HOST=$(hostname)
|
||||
SCRIPT_PATH="$0"
|
||||
SCRIPT_NAME=$(basename "$SCRIPT_PATH")
|
||||
|
||||
# On envoie à 'root', le système fera la redirection grâce aux aliases
|
||||
DEST="root"
|
||||
|
||||
# --- CHARGEMENT DE LA CONFIGURATION (Style msmtp) ---
|
||||
# On cherche d'abord dans le home de l'utilisateur, puis au niveau système
|
||||
CONF_USER="$HOME/.sys_check.conf"
|
||||
CONF_SYSTEM="/etc/sys_check.conf"
|
||||
|
||||
if [ -f "$CONF_USER" ]; then
|
||||
source "$CONF_USER"
|
||||
elif [ -f "$CONF_SYSTEM" ]; then
|
||||
source "$CONF_SYSTEM"
|
||||
fi
|
||||
|
||||
# Initialisation des variables de notification si non définies dans les fichiers de conf
|
||||
DEST="${DEST:-root}"
|
||||
NTFY_SERVER="${NTFY_SERVER}"
|
||||
NTFY_TOPIC="${NTFY_TOPIC}"
|
||||
NTFY_TOKEN="${NTFY_TOKEN}"
|
||||
|
||||
|
||||
REPORT=""
|
||||
ALERT=false
|
||||
@@ -222,17 +239,33 @@ add_to_report "---"
|
||||
|
||||
|
||||
# ------------------------------------------------
|
||||
# ENVOI MAIL
|
||||
# --- ENVOI DE L'ALERTE ---
|
||||
# ------------------------------------------------
|
||||
if [ "$ALERT" = true ]; then
|
||||
SUBJECT="🔴 ALERTE SERVEUR [$HOST] - $(date +'%H:%M')"
|
||||
|
||||
# Construction du corps du mail avec un header propre
|
||||
MAIL_BODY="Bonjour,\n\nUne ou plusieurs anomalies ont été détectées sur le serveur : $HOST\n"
|
||||
MAIL_BODY="$MAIL_BODY\n------------------------------------------------\n"
|
||||
MAIL_BODY="$MAIL_BODY$REPORT"
|
||||
MAIL_BODY="$MAIL_BODY\n------------------------------------------------\n"
|
||||
MAIL_BODY="$MAIL_BODY\nDate du rapport : $(date)"
|
||||
|
||||
echo -e "$MAIL_BODY" | mail -s "$SUBJECT" "$DEST"
|
||||
|
||||
if [ -z "$NTFY_TOPIC" ]; then
|
||||
# Construction du corps du mail avec un header propre
|
||||
MAIL_BODY="Bonjour,\n\nUne ou plusieurs anomalies ont été détectées sur le serveur : $HOST\n"
|
||||
MAIL_BODY="$MAIL_BODY\n------------------------------------------------\n"
|
||||
MAIL_BODY="$MAIL_BODY$REPORT"
|
||||
MAIL_BODY="$MAIL_BODY\n------------------------------------------------\n"
|
||||
MAIL_BODY="$MAIL_BODY\nDate du rapport : $(date)"
|
||||
|
||||
echo -e "$MAIL_BODY" | mail -s "$SUBJECT" "$DEST"
|
||||
else
|
||||
# Mode NTFY
|
||||
AUTH_OPT=()
|
||||
[ -n "$NTFY_TOKEN" ] && AUTH_OPT=(-H "Authorization: Bearer $NTFY_TOKEN")
|
||||
|
||||
# Nettoyage du rapport pour le format push
|
||||
CLEAN_REPORT=$(echo -e "$REPORT" | sed '/^---$/d')
|
||||
|
||||
curl -s "${AUTH_OPT[@]}" \
|
||||
-H "Title: $SUBJECT" \
|
||||
-H "Priority: high" \
|
||||
-H "Tags: warning,server" \
|
||||
-d "$CLEAN_REPORT" \
|
||||
"$NTFY_SERVER/$NTFY_TOPIC" > /dev/null
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user