Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: een handig scriptje voor sysadmins  (gelezen 1281 keer)

Offline Kev

  • Lid
een handig scriptje voor sysadmins
« Gepost op: 2008/08/04, 17:20:59 »
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.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

een handig scriptje voor sysadmins
« Reactie #1 Gepost op: 2008/08/04, 17:32:07 »
Tof, ik zal m eens loslaten op mezelf :)

Monk.

Offline Kev

  • Lid
een handig scriptje voor sysadmins
« Reactie #2 Gepost op: 2008/08/04, 17:35:36 »
Citaat van: Monkwarrior
Tof, ik zal m eens loslaten op mezelf :)

Monk.
Ge moet het echt eens proberen in een systeem met meer dan 3 gebruikers dan komt het echt wel tot zijn recht vind ik persoonlijk.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.