• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

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

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
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!


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу