Envoie des performances d'un système linux par mail avec python et crontab. Tuto rapide!
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() É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 Etape 3: Tester manuellement python3 /home/utilisateur/rapport_sys.py 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!

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()
É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
Etape 3: Tester manuellement
python3 /home/utilisateur/rapport_sys.py
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!