Comment générer et envoyer automatiquement des statistiques informatiques par e-mail

Jan 23, 2025
Cloud et Internet
CONTENU NON CACHÉ

Il est important de vérifier chaque jour diverses données de journaux et statistiques sur votre serveur, mais cela devient fastidieux. Ne serait-il pas agréable de recevoir un seul e-mail avec tous les moments forts chaque jour, de sorte que vous n’avez même pas besoin de vous rendre sur le serveur pour rechercher des problèmes? Ce guide vous montrera comment configurer les e-mails automatisés sous Linux et Windows.

Nous couvrirons spécifiquement cela pour Ubuntu et Windows 8.1, Gmail étant utilisé comme serveur de messagerie à partir duquel le courrier est envoyé. Si vous avez une autre version de Linux ou de Windows, ou préférez utiliser un autre service de messagerie, les instructions ici devraient être facilement adaptables.

E-mails automatisés sous Linux

Nous allons utiliser deux packages différents pour ce faire, ssmtp et mailutils, donc installez-les tous les deux avec la commande suivante:

$ sudo apt-get install ssmtp mailutils

Une fois ceux-ci installés, nous devons apporter des modifications au fichier de configuration SSMTP:

$ sudo vi /etc/ssmtp/ssmtp.conf

Modifiez le fichier avec ces modifications (vous pouvez simplement effacer tout le texte du fichier et copier / coller ces paramètres, si vous le souhaitez):

# Cette adresse recevra les e-mails, alors entrez votre propre e-mail ici si vous souhaitez les recevoir.

[email protected]

# Spécifiez le serveur de messagerie ici (laissez tel quel si vous utilisez Gmail).

mailhub = smtp.gmail.com: 587

# Le nom de domaine d'où proviendra l'e-mail.

rewriteDomain = gmail.com

# L'adresse e-mail à partir de laquelle ces e-mails doivent provenir.

[email protected]

# Paramètres SSL / TLS, requis pour Gmail et la plupart des autres serveurs de messagerie.

UseTLS = Oui

UseSTARTTLS = Oui

# Le nom d'utilisateur et le mot de passe de votre compte Gmail.

AuthUser = nom d'utilisateur

AuthPass = mot de passe

# Autorise la possibilité de spécifier une adresse d'expédition différente de celle ci-dessus.

FromLineOverride = oui

Lorsque vous aurez terminé de modifier le fichier, vous souhaiterez modifier les autorisations, car votre mot de passe Gmail est stocké en texte brut.

$ sudo chmod 640 /etc/ssmtp/ssmtp.conf

$ sudo chown username.username /etc/ssmtp/ssmtp.conf

Il est toujours plus sûr de faire de root le propriétaire du fichier, mais nous devrons alors utiliser la commande sudo dans notre script et cela nous demanderait un mot de passe, ce qui irait à l'encontre de l'objectif d'automatisation de tout ce processus.

Si vous utilisez un serveur partagé et que vous craignez que votre mot de passe soit stocké en texte clair et lisible par root, créez un compte Gmail jetable ou utilisez un serveur de messagerie qui ne nécessite aucun type d'authentification en premier lieu.

Pour vous assurer que tout est correctement configuré, essayons un e-mail de test:

$ echo "Test" | mail -s "Test de la configuration de la messagerie" [email protected]

"Test" sera dans le corps de l'e-mail et l'objet sera "Test de la configuration du courrier". Vérifiez votre courrier électronique pour vous assurer de l'avoir reçu.

Rédaction d'un script pour les e-mails

Maintenant que nous sommes en mesure d'envoyer des e-mails à partir de la ligne de commande, écrivons un script qui nous enverra des informations de base sur notre système.

#! / Bin / Bash

# Vérifier l'espace disque dur

echo "Espace disque dur:"> /home/geek/email.txt

df -h >> /home/geek/email.txt

# Répertoriez les utilisateurs connectés

echo "Utilisateurs actuellement connectés:" >> /home/geek/email.txt

qui >> /home/geek/email.txt

# Liste des processus en cours d'exécution

echo "Processus en cours d'exécution:" >> /home/geek/email.txt

ps -e >> /home/geek/email.txt

# Envoyez l'e-mail

cat /home/geek/email.txt | mail -s "Informations quotidiennes sur le serveur" [email protected]

# Supprimer le fichier que nous avons créé

rm /home/geek/email.txt

Évidemment, vous pouvez obtenir beaucoup plus de détails avec votre script et même rendre le formatage un peu plus agréable, mais voici à quoi ressemble le résultat dans notre e-mail:

Maintenant que le script est écrit et testé, nous pouvons utiliser cron pour l'exécuter automatiquement à la même heure chaque jour. Dans cet exemple, nous allons configurer l'e-mail pour qu'il soit envoyé à 2h00 du matin chaque matin, afin que nous puissions parcourir les données plus tard dans la journée.

$ crontab -e

Pour les e-mails de 2 h 00, ajoutez:

0 2 * * * /home/geek/script.sh

Nous avons écrit un article entier sur fichiers crontab si vous avez besoin de plus d'aide avec cette partie.

E-mails automatisés sous Windows

L'envoi d'e-mails via la ligne de commande est possible via PowerShell, mais nous avons constaté que la mise en œuvre de cette fonctionnalité est beaucoup plus facile avec des applications tierces, en particulier lors de l'utilisation de Gmail. Envoyer un e-mail est un programme gratuit disponible pour Windows qui facilite l'intégration avec le planificateur de tâches Windows et Gmail. Cliquez sur le lien ci-dessus pour télécharger la dernière copie et assurez-vous de récupérer la version prise en charge par TLS.

Une fois que vous avez téléchargé SendEmail, extrayez le fichier zip et placez le contenu dans un endroit où vous pourrez le stocker aussi longtemps que vous prévoyez d'envoyer des e-mails automatisés. Dans cet exemple, nous allons simplement stocker le programme dans C: \ SendEmail

Testons SendEmail pour avoir une idée rapide de son fonctionnement. Ouvrez une invite de commande en tapant cmd dans le menu Démarrer ou Exécuter (Ctrl + R).

Avec l'invite de commande ouverte, utilisez la commande de changement de répertoire pour accéder à l'emplacement où vous avez stocké les fichiers SendEmail.

cd C:\SendEmail

Nous pouvons maintenant essayer d'envoyer un e-mail de test avec la commande suivante:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu nom d'utilisateur -xp mot de passe -u "Objet de l'e-mail de test" -m "Ceci est un e-mail de test."

Évidemment, remplacez «nom d'utilisateur» et «mot de passe» par les informations d'identification de votre compte avant d'exécuter la commande.

Voici ce que fait réellement la commande ci-dessus:

sendEmail exécute le programme.

-f - de l'adresse

-t - Adresser

-s - Serveur SMTP

-pièce de monnaie - Nom d'utilisateur du compte

-xp - mot de passe du compte

-u - Sujet du courriel

-m - texte du corps de l'e-mail

Vérifiez votre boîte de réception pour vous assurer que vous avez bien reçu l'e-mail de test, puis nous pourrons passer à l'écriture d'un script qui nous enverra des informations sur le serveur.

Rédaction d'un script pour les e-mails

Pour tirer le meilleur parti de notre script, nous allons l'écrire pour PowerShell. Ouvrez Windows PowerShell ISE en tapant powershell_ise.exe dans une invite d'exécution (Ctrl + R).

Sur le côté droit de la fenêtre PowerShell ISE, vous pouvez répertorier toutes les commandes que PowerShell est capable d'exécuter. Cela devrait vous donner un bon départ pour générer les types d'informations dont vous avez besoin. Dans votre script, vous pouvez également appeler des programmes tiers pour générer des informations (par exemple, SendEmail est une application tierce mais PowerShell et cmd peuvent l'utiliser pour accomplir des tâches qu'ils ne peuvent normalement pas).

Pour notre exemple de script, nous allons vérifier l'utilisation actuelle du disque du lecteur C, afficher les processus en cours d'exécution et afficher tous les fichiers actuellement partagés sur le réseau.

# Vérifier l'espace disque dur

echo "C: Utilisation du lecteur:"> C: \ SendEmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Select-Object Size, FreeSpace >> C: \ SendEmail \ info.txt

# Liste des processus en cours d'exécution

echo "Processus en cours d'exécution:" >> C: \ SendEmail \ info.txt

get-process >> C: \ SendEmail \ info.txt

# Liste les fichiers / dossiers actuellement partagés

echo "Partages SMB:" >> C: \ SendEmail \ info.txt

get-smbshare >> C: \ SendEmail \ info.txt

# Envoyez l'e-mail

tapez C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu nom d'utilisateur -xp mot de passe -u "Informations quotidiennes sur le serveur"

# Supprimer le fichier que nous avons créé

rm C: \ SendEmail \ info.txt

Dans ce script, diverses informations sont envoyées à C: \ SendEmail \ info.txt, puis le texte de ce document nous est envoyé par e-mail avant d'être supprimé. Enregistrez votre script avec une extension de fichier ps1 (fichier PowerShell).

Une fois votre script terminé, exécutez un test rapide à partir d'une invite d'exécution pour vous assurer qu'il fonctionne correctement.

Utilisez simplement le PowerShell commande avec un -fichier argument et spécifiez le chemin de votre script.

PowerShell -fichier "c: \ SendEmail \ daily-email.ps1"

Vérifiez votre boîte de réception pour vous assurer que vous avez bien reçu l'e-mail.Sinon, recherchez dans votre script des erreurs de syntaxe. Voici à quoi ressemble l'e-mail généré à partir de notre exemple de script:

Vous pouvez jouer avec le formatage (comme faire écho aux lignes vides entre le texte) pour le rendre plus agréable sur votre appareil, ou mieux encore, vous pouvez utiliser un programme tiers qui produira les informations nécessaires dans un format plus lisible que Windows ( le processus de script sera toujours le même).

Une fois que vous avez résolu les problèmes de votre script, vous pouvez utiliser le Planificateur de tâches Windows pour l’automatiser. Ouvrez le Planificateur de tâches Windows via le menu Démarrer.

Avec le Planificateur de tâches ouvert, sélectionnez Action> Créer une tâche de base.

Nommez cette tâche quelque chose comme "Script d'e-mail quotidien" et cliquez sur Suivant. Sur l'écran suivant, sélectionnez la fréquence à laquelle vous souhaitez que votre script d'e-mail s'exécute, probablement quotidiennement. Ensuite, choisissez l'heure à laquelle vous souhaitez que le script s'exécute et cliquez sur suivant.

Vous devriez maintenant être dans la partie «Action» de l'assistant, sélectionnez «Démarrer un programme» et entrez le même texte que nous avons entré dans l'invite Exécuter plus tôt pour tester notre script.

Appuyez sur suivant, puis sur Oui sur cette fenêtre:

Cliquez sur Terminer dans le dernier menu et vous avez terminé de planifier vos e-mails automatiques.

Extract Random Data Automatically


Cloud et Internet - Most Popular Articles

Les 8 meilleures fonctionnalités du nouveau Gmail

Cloud et Internet Jul 1, 2025

Google change l'apparence et le fonctionnement de Gmail. Ils a lancé le nouveau Gmail en avril , mais jusqu'à présent, c'était facultatif. Cela change en juillet,..


Comment désactiver les onglets individuels du navigateur dans Chrome, Safari et Firefox

Cloud et Internet Jul 1, 2025

Les navigateurs Web de bureau modernes - Google Chrome, Mozilla Firefox et Apple Safari - vous permettent tous de désactiver les onglets individuels du navigateur en quelques clics..


Comment être vérifié sur Twitter (ou au moins essayer)

Cloud et Internet Sep 14, 2025

Oh cette douce tique bleue. Seules quelques élites de Twitter en bénéficient: Justin Pot en a un . Le reste d'entre nous, la plèbe numérique, est laissé sans, p..


Comment utiliser un navigateur Web 64 bits sous Windows

Cloud et Internet Apr 6, 2025

Google et Mozilla proposent désormais des versions 64 bits de Chrome et Firefox pour Windows. Voici comment savoir quelle version vous utilisez et comment la mettre à niveau. ..


Les meilleurs raccourcis clavier macOS que vous devriez utiliser

Cloud et Internet Dec 15, 2024

CONTENU NON CACHÉ Les raccourcis clavier peuvent sembler complexes et difficiles à retenir, mais une fois que vous aurez commencé à les utiliser, vous vous demanderez comment ..


Comment choisir les éléments à sauvegarder sur votre serveur domestique Linux

Cloud et Internet Nov 22, 2024

Si vous possédez un serveur domestique fonctionnant sous Linux, vous allez probablement mettre à niveau votre système d'exploitation de temps en temps. Voici quelques fichiers im..


Personnaliser le comportement des onglets dans Firefox avec Tab Kit

Cloud et Internet Aug 3, 2025

Vous cherchez un moyen simple de spécialiser le comportement des onglets dans Firefox? Avec l'extension Tab Kit, vous pouvez personnaliser l'expérience de l'onglet en fonction des désirs d..


Keyboard Ninja: 21 articles sur les raccourcis clavier

Cloud et Internet Sep 18, 2025

CONTENU NON CACHÉ Le Keyboard Ninja utilise des touches de raccourci pour accomplir des tâches en moins de temps qu'en utilisant la souris. Il utilise le clavier pour lancer des..


Catégories