Linux - Rapport quotidien des serveurs par mail

Le script suivant permet de créer un rapport envoyé quotidiennement par mail à l'administrateur et indiquant l'état du disque dur et les mises à jour nécessaire (pour un système Debian, pour les autres systèmes il faut adapter en fonction des systèmes de gestion de packages disponibles :
#!/bin/bash apt-get update ( echo To: destinataire@domaine.ext echo From: systeme@domaine.net if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then echo Subject: Rapport du `date +%e\ %B\ %Y` : ESPACE DISQUE FAIBLE else echo Subject: Rapport quotidien du `date +%e\ %B\ %Y` pour `hostname` fi echo Rapport de `hostname` echo Usage du disque : echo df -h echo echo Charge du serveur : echo uptime echo echo Mises à jour nécessaires echo apt-get -s upgrade ) | /var/qmail/bin/qmail-inject -fexpediteur@domaine.ext destinataire@domaine.ext
Le script ci-dessus permet d'afficher une alerte dans le sujet du message si le disque hda1 a un taux de remplissage supérieur à 80%. Le système de messagerie utilisé pour l'envoi dans l'exemple est qmail, mais n'importe quel autre commande similaire (par exemple /usr/sbin/sendmail) peut-être utilisée.
Il suffit ensuite de rendre ce script exécutable, par exemple :
chmod +x /home/user/script/dailyreport.sh
Enfin, la création d'une entrée dans la crontab permettra l'envoi quotidien (5h00 du matin dans l'exemple ci-dessous) du message par mail :
crontab -e
Insérer la ligne suivante :
00 5 * * * /home/user/script/dailyreport.sh > /dev/null 2>&1
Ce document intitulé « Linux - Rapport quotidien des serveurs par mail » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.