48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
import subprocess
|
|
import smtplib
|
|
from email.mime.text import MIMEText
|
|
from datetime import datetime
|
|
|
|
# Informations mail
|
|
FROM = "alertes_saclay@domo91.fr"
|
|
TO = ["services@domo91.fr"]
|
|
SUBJECT = f"🟢 Rapport quotidien - Supervisor OK ({datetime.now().strftime('%d/%m/%Y')})"
|
|
|
|
# Liste des services attendus
|
|
processus_attendus = [
|
|
"Chauffage",
|
|
"Cuisine_Saclay",
|
|
"Monitor",
|
|
"Streamlit",
|
|
"Telegram_sondes",
|
|
"cuisine_meudon"
|
|
]
|
|
|
|
# Vérifie les statuts
|
|
output = subprocess.getoutput("supervisorctl status")
|
|
etat = "\n".join(line for line in output.splitlines() if any(p in line for p in processus_attendus))
|
|
|
|
# Contenu du mail
|
|
message = f"""Bonjour,
|
|
|
|
Voici l'état des processus supervisés ce jour ({datetime.now().strftime('%Y-%m-%d %H:%M')}).
|
|
|
|
{etat}
|
|
|
|
Cordialement,
|
|
Domo91
|
|
"""
|
|
|
|
msg = MIMEText(message)
|
|
msg["Subject"] = SUBJECT
|
|
msg["From"] = FROM
|
|
msg["To"] = ", ".join(TO)
|
|
|
|
try:
|
|
with smtplib.SMTP_SSL("smtp.mail.ovh.net", 465) as server:
|
|
server.login(FROM, "Kdpke674y23Feq^H")
|
|
server.sendmail(FROM, TO, msg.as_string())
|
|
print("✅ Rapport envoyé avec succès.")
|
|
except Exception as e:
|
|
print(f"Erreur envoi mail : {e}")
|