Script pour vérifier l'espace de stockages de mes DD (12 Servers Debian)

Hello la communauté :slight_smile:

Je suis de base orienté Réseau, mes connaissances en DEV sont limité, mais j’essaye de progresser de jours en jours =)

Dites moi est que parmis vous, peuvent m’aider pour rédiger un script qui permettrais d’envoyer par mail de manière mensuel l’état de l’espaces disque sur mes serveurs avec la fonction ssmtp.

Effectivement je peux me connecter un par un sur mes serveur est exécuter tout simplement un df -h pour le vérifier mais cela me prend du temps.
Je souhaiterais rédiger un script avec un crontab pour automatiser cette taches et recevoir l’état de mes disque par mail.

J’hésite à m’orienter sur du dashboard type Grafana

Une idée ? :slight_smile:
J’update le topic dès que j’ai du nouveau !!

Merci à tous

Bonjour,

Le paquet logwatch te permet d’avoir un courriel avec pas mal d’informations issue de différent journaux mais également l’espace de stockage. Je pense qu’il est possible de le configurer pour envoyer des courriel par mois plutôt que par jours.

Sinon, tu peux mettre ça dans /etc/cron.monthly/occupationDisques.sh :

#!/bin/sh
df | mail -v -s "Occupation des disques" adressemail@domaine.fr

Salut
anacron envoit un mail de résultat
https://linux.die.net/man/8/anacron
If a job generates any output on its standard output or standard error, the output is mailed to the user running Anacron (usually root), or to the address contained by the MAILTO environment variable in the crontab, if such exists. If the LOGNAME environment variable is set, it will be used as From: field

Exemple j’ai ce script

#!/bin/sh
# pour tracer demasquer set -x
#set -x
#
# listage utilisation disque avant
echo " listage occupation du disque"
df -h
# tempo pour éviter les conflits de verrou apt
# 30 mn pour laisser le temps à mon service opt/perso-apt de se terminer
# 30*60 = 1800
sleep 1800
export DEBIAN_FRONTEND=noninteractive
echo "**********"
echo " Nettoyage"
echo " apt clean"
apt-get clean
echo "resultat de la commande apt clean ="$?
#echo "*************************************"
#echo " apt autoclean"
#apt-get autoclean
#echo "resultat de la commande apt autoclean ="$?
echo "*****************************************"
echo " apt purge"
apt-get purge --autoremove -y 
echo "resultat de la commande apt autoremove ="$? 
echo "******************************************"
# listage utilisation disque après
echo " listage occupation du disque après nettoyage"
df -h

root reçoit ce mail:

vendredi 2 mars 2018, 08:45:17 (UTC+0100)
/etc/cron.daily/ze-perso-apt:
 listage occupation du disque
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               1,8G       0  1,8G   0% /dev
tmpfs              370M     11M  360M   3% /run
/dev/sda1           19G     12G  5,9G  67% /
tmpfs              1,9G     27M  1,8G   2% /dev/shm
tmpfs              5,0M       0  5,0M   0% /run/lock
tmpfs              1,9G       0  1,9G   0% /sys/fs/cgroup
tmpfs              1,9G     12K  1,9G   1% /tmp
/dev/sda6          268G    179G   76G  71% /home
tmpfs              370M    8,0K  370M   1% /run/user/1001
**********
 Nettoyage
 apt clean
resultat de la commande apt clean =0
*****************************************
 apt purge
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
0 mis à jour, 0 nouvellement installés, 0 à enlever et 1 non mis à jour.
resultat de la commande apt autoremove =0
******************************************
 listage occupation du disque après nettoyage
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               1,8G       0  1,8G   0% /dev
tmpfs              370M     11M  360M   3% /run
/dev/sda1           19G     12G  5,9G  67% /
tmpfs              1,9G     13M  1,8G   1% /dev/shm
tmpfs              5,0M       0  5,0M   0% /run/lock
tmpfs              1,9G       0  1,9G   0% /sys/fs/cgroup
tmpfs              1,9G     16K  1,9G   1% /tmp
/dev/sda6          268G    179G   76G  71% /home
tmpfs              370M    8,0K  370M   1% /run/user/1001

si tu veux envoyer le résultat vers un compte externe , gmail par exemple, il faut simplement configurer exim4 qui sait le faire, cf: