Alerte() { echo "\t>>>Attention: vous utilisez $1 Ko dans $2\n\t\t Veuillez effacer vos fichiers inutiles. Merci." | mail $3 } # M A I N if [ $# -lt 3 ] ; then echo "Syntaxe: $0 FileSystem EspaceMaxAutorise SeuilRemplissage" exit 1 fi FileSyst=$1 EspaceMaxAutorise=$2 SeuilRemplissage=$3 df | grep $FileSyst > /dev/null 2>&1 [ $? -ne 0 ] && ( echo Erreur: mauvais nom de FileSystem; exit 1) PctOccupation=`df $FileSyst | awk '/^\/dev/{printf "%s", $5}' | sed -e 's/%//'` [ $PctOccupation -lt "$SeuilRemplissage" ] && \ exit 0 # seuil non atteint => ne rien faire # seuil atteint # verifier la taille des repertoires ou fichiers du -sk $FileSyst/* > temp_$$ 2>/dev/null while read ligne ; do set $ligne Taille=$1 if [ "$Taille" -gt "$EspaceMaxAutorise" ] ; then [ -d $2 ] && User=`ls -ld $2 | awk '{print $3}'` [ -f $2 ] && User=`ls -l $2 | awk '{print $3}'` [ -n "$User" ] && \ grep $User /etc/passwd >/dev/null && \ Alerte $Taille $2 $User fi done < temp_$$ rm temp_$$