Dit zelfgemaakt scriptje kan ja gebruiken op een multiusersysteem om te controleren welke gebruiker het meeste schijfruimte opsnoept in zijn homedirectory ten opzichte van het geheel van de /home mountpoint.
Handig om dus te controleren wie er een dataveelvraat is en waar de sysadmin de grove borstel mag bovenhalen.
BTW ik gebruik hiervoor GAWK, standaard in Ubuntu is MAWK geïnstallerd met een alias naar AWK, dus dit pakket dient geïnstalleert te worden of waar GAWK gebruikt word de tekst vervangen door AWK.
Code begint hier:
#!/bin/bash
# script dat schijfvreters opspoort bij een multiusersysteem,
# controleert homedirs
TEMP=`mktemp -t tmp.XXXXXX`
du -s /home/* | grep -v lost | sed 's/\/home\///' | sort -g -r > $TEMP
TOTAL=`du -s /home | gawk '{print $1}'`
cat $TEMP | gawk -v n="$TOTAL" '
BEGIN {
print "Total Disk Usage by User";
print "User\tSpace\tPercent"
}
{
printf "%s\t%d\t%6.2f%\n", $2, $1, ($1/n)*100
}
END {
print "------------------------------";
printf "Total\t%d\n", n
}'
rm -f $TEMP
En eindigt hier.