activation de ntfy
This commit is contained in:
@@ -20,6 +20,11 @@ DEFAULT_SMTP_USER="alerte@exemple.fr"
|
|||||||
DEFAULT_DEST_EMAIL="admin+${HOSTNAME}@exemple.fr"
|
DEFAULT_DEST_EMAIL="admin+${HOSTNAME}@exemple.fr"
|
||||||
SUBJECT_PREFIX="[$HOSTNAME]"
|
SUBJECT_PREFIX="[$HOSTNAME]"
|
||||||
|
|
||||||
|
# Valeurs "Fallback" NTFY
|
||||||
|
DEFAULT_NTFY_SERVER="https://ntfy.sh"
|
||||||
|
DEFAULT_NTFY_TOPIC=""
|
||||||
|
DEFAULT_NTFY_TOKEN=""
|
||||||
|
|
||||||
# Tentative d'extraction des valeurs actuelles si le fichier existe
|
# Tentative d'extraction des valeurs actuelles si le fichier existe
|
||||||
if [ -f "$MSMTP_CONF" ]; then
|
if [ -f "$MSMTP_CONF" ]; then
|
||||||
CURRENT_HOST=$(grep -E "^host[[:space:]]+" "$MSMTP_CONF" | awk '{print $2}')
|
CURRENT_HOST=$(grep -E "^host[[:space:]]+" "$MSMTP_CONF" | awk '{print $2}')
|
||||||
@@ -32,6 +37,15 @@ if [ -f "$MSMTP_CONF" ]; then
|
|||||||
[ -n "$CURRENT_USER" ] && DEFAULT_SMTP_USER="$CURRENT_USER"
|
[ -n "$CURRENT_USER" ] && DEFAULT_SMTP_USER="$CURRENT_USER"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Tentative d'extraction NTFY si le fichier global existe déjà
|
||||||
|
if [ -f "$GLOBAL_CONF" ]; then
|
||||||
|
source "$GLOBAL_CONF"
|
||||||
|
[ -n "$NTFY_SERVER" ] && DEFAULT_NTFY_SERVER="$NTFY_SERVER"
|
||||||
|
[ -n "$NTFY_TOPIC" ] && DEFAULT_NTFY_TOPIC="$NTFY_TOPIC"
|
||||||
|
[ -n "$NTFY_TOKEN" ] && DEFAULT_NTFY_TOKEN="$NTFY_TOKEN"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo "=========================================================="
|
echo "=========================================================="
|
||||||
echo " VÉRIFICATION SMTP & DÉPLOIEMENT - ${HOSTNAME}"
|
echo " VÉRIFICATION SMTP & DÉPLOIEMENT - ${HOSTNAME}"
|
||||||
echo "=========================================================="
|
echo "=========================================================="
|
||||||
@@ -46,11 +60,18 @@ prompt_value() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Collecte interactive
|
# Collecte interactive
|
||||||
|
echo "--- Configuration Mail ---"
|
||||||
prompt_value "SMTP_HOST" "Serveur SMTP" "$DEFAULT_SMTP_HOST"
|
prompt_value "SMTP_HOST" "Serveur SMTP" "$DEFAULT_SMTP_HOST"
|
||||||
prompt_value "SMTP_PORT" "Port SMTP" "$DEFAULT_SMTP_PORT"
|
prompt_value "SMTP_PORT" "Port SMTP" "$DEFAULT_SMTP_PORT"
|
||||||
prompt_value "SMTP_USER" "Utilisateur SMTP" "$DEFAULT_SMTP_USER"
|
prompt_value "SMTP_USER" "Utilisateur SMTP" "$DEFAULT_SMTP_USER"
|
||||||
prompt_value "DEST_EMAIL" "Email de destination" "$DEFAULT_DEST_EMAIL"
|
prompt_value "DEST_EMAIL" "Email de destination" "$DEFAULT_DEST_EMAIL"
|
||||||
|
|
||||||
|
echo -e "\n--- Configuration ntfy.sh (Optionnel) ---"
|
||||||
|
prompt_value "NTFY_SERVER" "Serveur ntfy" "$DEFAULT_NTFY_SERVER"
|
||||||
|
prompt_value "NTFY_TOPIC" "Topic ntfy (laisser vide pour désactiver)" "$DEFAULT_NTFY_TOPIC"
|
||||||
|
prompt_value "NTFY_TOKEN" "Token ntfy (laisser vide si aucun)" "$DEFAULT_NTFY_TOKEN"
|
||||||
|
|
||||||
|
|
||||||
# --- 2. INSTALLATION INITIALE ---
|
# --- 2. INSTALLATION INITIALE ---
|
||||||
DEBIAN_FRONTEND=noninteractive apt update
|
DEBIAN_FRONTEND=noninteractive apt update
|
||||||
DEBIAN_FRONTEND=noninteractive apt install -y msmtp msmtp-mta bsd-mailx
|
DEBIAN_FRONTEND=noninteractive apt install -y msmtp msmtp-mta bsd-mailx
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
88abb1fc69eec9bb5436dc7e3ce487a5b1ec5564653ca1629d752c79a1780197 config_adminSys.sh
|
5a3d38a862d5a25e9078914401bb896eac96ed8a9238a1632f76ea668caebfad config_adminSys.sh
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#
|
#
|
||||||
# 20260308 -
|
# 20260308 -
|
||||||
# ajout de l'autoupdate
|
# ajout de l'autoupdate
|
||||||
|
# ajout du support ntfy.sh (prioritaire sur le mail)
|
||||||
|
|
||||||
# --- CONFIGURATION ---
|
# --- CONFIGURATION ---
|
||||||
THRESHOLD=80
|
THRESHOLD=80
|
||||||
@@ -14,8 +15,24 @@ HOST=$(hostname)
|
|||||||
SCRIPT_PATH="$0"
|
SCRIPT_PATH="$0"
|
||||||
SCRIPT_NAME=$(basename "$SCRIPT_PATH")
|
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=""
|
REPORT=""
|
||||||
ALERT=false
|
ALERT=false
|
||||||
@@ -222,11 +239,12 @@ add_to_report "---"
|
|||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
# ENVOI MAIL
|
# --- ENVOI DE L'ALERTE ---
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
if [ "$ALERT" = true ]; then
|
if [ "$ALERT" = true ]; then
|
||||||
SUBJECT="🔴 ALERTE SERVEUR [$HOST] - $(date +'%H:%M')"
|
SUBJECT="🔴 ALERTE SERVEUR [$HOST] - $(date +'%H:%M')"
|
||||||
|
|
||||||
|
if [ -z "$NTFY_TOPIC" ]; then
|
||||||
# Construction du corps du mail avec un header propre
|
# 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="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\n------------------------------------------------\n"
|
||||||
@@ -235,4 +253,19 @@ if [ "$ALERT" = true ]; then
|
|||||||
MAIL_BODY="$MAIL_BODY\nDate du rapport : $(date)"
|
MAIL_BODY="$MAIL_BODY\nDate du rapport : $(date)"
|
||||||
|
|
||||||
echo -e "$MAIL_BODY" | mail -s "$SUBJECT" "$DEST"
|
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
|
fi
|
||||||
@@ -1 +1 @@
|
|||||||
03b92b133fc4694f78f1d17be8ed070a8a72d09ca6f381e41790c7c5042bbc03 sys_check.sh
|
2e123bfc0e0fee37f1964b6bf037e0a179623b56b3c969a90e69410f346c2f93 sys_check.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user