1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/bin/bash
# Suppression du fichier de log
rm -f /var/www/vhosts/toto.fr/web_users/EspaceFtp.log
# Changement du répertoire courant
cd /var/www/vhosts/toto.fr/web_users
# Boucle pour traiter tous les répertoires clients (dans web_users) mais non récursivement (1 seul niveau) : pour réaliser une liste.
ListeWebUsers="$(find * -maxdepth 0 -type d)"
for WebUsers in ${ListeWebUsers};do
# Calcul de l'espace occupé par le client
ResultTailleRepWebUsers=$(du -sm $WebUsers)
TailleRepWebUsers=$(echo $ResultTailleRepWebUsers|cut -d " " -f1)
# Gros clients : Test si la taille est > 5 Go
if [ $TailleRepWebUsers>5000 ];then
# Envoi d'un mail pour nous prévenir (EnvoiMail() $Subject $Body)
Subject="[" $WebUsers "] L'espace utilisé sur leur serveur ftp est trop importante : "$TailleRepWebUsers "Mo"
Body="Veuillez demander au client de supprimer les anciens fichiers rapidement."
Pj=""
EnvoiMail() "$Subject" "$Body" "$Pj"
fi
# Suppression des fichiers vieux de plus d'un mois
find /$WebUsers -mtime +30 -print -exec rm -fR {} + >> EspaceFtp.log
# Suppression des répertoires vides
find /$WebUsers/* -type d -empty|xargs rm -fR
# Remplissage du fichier de suivi EspaceFtp.log
echo "$WebUsers $TailleRepWebUsers">>EspaceFtp.log
done
# Récuperation en pourcentage de l'espace restant disponible sur le serveur (hdd local)
ResultTailleHdd=df /dev/sda3
EspaceUtilise=$(echo ${ResultTailleHdd:-6}|cut -d"%" -f1)
EspaceRestant=$(expr 100-$EspaceUtilise)
echo "">>EspaceFtp.log
echo "Espace total restant sur le serveur " $HOSTNAME " : " $TailleRepFtpInformatique "%">>EspaceFtp.log
# Test si l'espace disponible est inferieur à 30% (càd ~20Go) : prévenir par mail
if [ expr $EspaceRestant<30 ];then
Subject="[ATTENTION] Manque de place sur www.toto.fr"
Body="Il ne reste que " $EspaceRestant "% d'espace libre sur le serveur. Veuiller faire rapidement de la place."
Pj="EspaceFtp.log"
EnvoiMail() "$Subject" "$Body" "$Pj"
fi |
Partager