Envoie des performances d'un système linux par mail avec python et crontab. Tuto rapide!

Envoie des performances d'un système linux par mail avec python et crontab. Tuto rapide!

Publish Date: May 15
0 0

Automatiser la surveillance de la charge d’un système est crucial, notamment sur les serveurs. Dans ce tutoriel, nous allons créer un script Python pour collecter des informations système (CPU, RAM, disque), les formater, et les envoyer par email automatiquement à intervalles réguliers grâce à crontab.

#Étape 1 : Le script Python

import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from monitor import get_system_performance

# Informations de l'expéditeur
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = os.getenv("SENDER_EMAIL")  
app_password = os.getenv("APP_PASSWORD")  

# Informations du destinataire
receiver_email = "sysadmin_entreprise4@mtech.org"
subject = "Performances système"

# Récupérer les performances système
system_performance = get_system_performance()

# Création du message
msg = MIMEMultipart()
msg["From"] = sender_email
msg["To"] = receiver_email
msg["Subject"] = subject
msg.attach(MIMEText(system_performance, "plain"))

try:
    # Connexion au serveur SMTP
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()  # Sécurisation de la connexion
    server.login(sender_email, app_password)

    # Envoi de l'e-mail
    server.send_message(msg)
    print("E-mail envoyé avec succès !")

except Exception as e:
    print("Erreur lors de l'envoi de l'e-mail :", e)

finally:
    server.quit()

Enter fullscreen mode Exit fullscreen mode

Étape 2 : Rendre le script exécutable


chmod +x /home/utilisateur/rapport_sys.py

Étape 3 : Automatiser avec crontab

crontab -e
Ajoutez la ligne suivante pour exécuter le script toutes les heures:

SENDER_EMAIL="votre_email@gmail.com"
APP_PASSWORD="votre_mot_de_passe_application"

0 */1 * * * /usr/bin/python3 /home/utilisateur/rapport_sys.py >> /home/utilisateur/cron.log 2>&1
Enter fullscreen mode Exit fullscreen mode

Etape 3: Tester manuellement

python3 /home/utilisateur/rapport_sys.py

Enter fullscreen mode Exit fullscreen mode

CONCLUSION

Grâce à Python et crontab, vous avez désormais un système autonome de surveillance qui vous informe par mail de l’état de votre machine Linux. C’est une solution légère, personnalisable, et idéale pour les serveurs personnels ou de production. A la prochaine pour un nouveau tuto rapide!

Comments 0 total

    Add comment