Festplattenplatz pro User

Message
Author
kiko

Festplattenplatz pro User

#1 Post by kiko »

Hallöchen,

ich würde gerne eine Auflistung erstellen, in welcher ersichtlich ist wieviel Festplattenplatz pro User verwendet wird.
Ist sowas möglich? (linux SuSE 7.3 und 8.1)

Danke für jeden Tipp.

kiko

odauter
Posts: 460
Joined: 17. Apr 2000 20:05
Location: Hamburg
Contact:

Re: Festplattenplatz pro User

#2 Post by odauter »

Sowas?
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">du -sh /home/*</font><hr></pre></blockquote>
bye.olli
--
"Where's Oswald when we need him.."

kiko

Re: Festplattenplatz pro User

#3 Post by kiko »

Eigentlich habe ich mehr in der Richtung gedacht, dass alle Partitionen durchsucht werden und alle files die als owner den gleichen username haben zusammengefasst werden.
ZB:
müller hat auf den Server x 350MB Festplattenplatz besetzt
meier hat auf den Server x 54GB Festplattenplatz besetzt usw.

any ideas?

kiko

odauter
Posts: 460
Joined: 17. Apr 2000 20:05
Location: Hamburg
Contact:

Re: Festplattenplatz pro User

#4 Post by odauter »

Dann so?
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/bash
sum=0
for i in `find $1 -xdev -user $2 -type f -exec du -k {} ; | cut -f 1`
do
sum=`expr $sum + $i`
done
echo "User $2 benutzt im Pfad $1 $sum Kilobyte Speicherplatz"
</font><hr></pre></blockquote>
(Vor dem Semikolon gehört ein Backslash.. den schluckt das Board immer.. :/)
Last edited by odauter on 12. Nov 2003 17:04, edited 5 times in total.
bye.olli
--
"Where's Oswald when we need him.."

Jochen

Re: Festplattenplatz pro User

#5 Post by Jochen »

@olli: Den Backslash erhält man einfach, indem man 2 davon hintereinander schreibt - wie beim Quoten in der Shell... Also wird aus \<!--no-->\<!--no--> im Board dann ein \<!--no-->. Natürlich musste ich gerade \<!--no-->\<!--no-->\<!--no-->\<!--no--> schreiben, um \<!--no-->\<!--no--> zu erhalten! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Option -xdev zu find war (denke ich) gar nicht gefragt; ich habe die Aufgabenstellung so verstanden, dass über alle Partitionen gesucht werden soll.

Wenn Du die bash verwendest (#!/bin/bash), darfst Du expr ersatzlos streichen. Mach aus <pre>sum=`expr $sum + $i`</pre>einfach ein
<pre>(( sum += i ))</pre>Nein, ich habe die $ vor den Variablennamen nicht vergessen; siehe man bash, "ARITHMETIC EVALUATION".

Jochen

kiko

Re: Festplattenplatz pro User

#6 Post by kiko »

Danke Leute :)
ich schau mir das an und melde mich wieder

tschö

Marc

Re: Festplattenplatz pro User

#7 Post by Marc »

Also ich hab jetzt geschrieben

#!/bin/bash
sum=0
for i in 'find $1 -xdev -user $2 -type f -exec du -k {} \ ; | cut -f 1'
do
((sum += i))
done
echo "User $2 benutzt im Pfad $1 $sum Kilobyte Speicherplatz"


(hinter -exec du -k {} steht ein backslash im skript)
dann kommt als fehlermeldung:
zsles7:/test # ./test
./test: ((: find $1 -xdev -user $2 -type f -exec du -k {} \ ; | cut -f 1: syntax error in expression (error token is "$1 -xdev -user $2 -type f -exec du -k {} \ ; | cut -f 1")
User benutzt im Pfad 0 Kilobyte Speicherplatz

Ich stell mich zu blöd an(?) <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

odauter
Posts: 460
Joined: 17. Apr 2000 20:05
Location: Hamburg
Contact:

Re: Festplattenplatz pro User

#8 Post by odauter »

> Ich stell mich zu blöd an(?)

Ähm, ehrlich gesagt ja.. $1 (Pfad) und $2 (User) bezeichnen Variablen, die mit dem Start übergeben werden sollten.
Also Versuchs mal mit 'test . root' oder so..
Last edited by odauter on 13. Nov 2003 10:16, edited 1 time in total.

Jochen

Re: Festplattenplatz pro User

#9 Post by Jochen »

Olli hat nicht ganz unrecht, aber der eigentliche Knüller liegt in der Verwendung des Namens "test". Das ist ein UNIX-Kommando (man 1 test) und wird statt des gewünschten Skripts gefunden und aufgerufen... Als erstes würde ich an Deiner Stelle die Datei umbenennen und als zweites den Aufruf immer über "./mein.skript user dir" machen.

Aber gräm Dich nicht drüber. Den Fehler macht jeder mal; das ist sozusagen Bestandteil des UNIX-Initiationsritus. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Jochen

Marc

Re: Festplattenplatz pro User

#10 Post by Marc »

öhm, sorry. wollt nur die fehlermeldung rauskopieren wega dem syntaxfehler :D

syntax error in expression (error token is "$1 -xdev -user $2 -type f -exec du -k {} \ ; | cut -f 1") <-- der fehler kommt ob mit oder ohne variablenangabe

Marc

Re: Festplattenplatz pro User

#11 Post by Marc »

@Jochen

Mist! Stimmt, das hab ich sogar mal gehört/gelesen. Aber wenn man den Fehler ned einmal selber macht, merkt man sich sowas wohl ned <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">)) Danke aber Syntaxfehler bleibt.

odauter
Posts: 460
Joined: 17. Apr 2000 20:05
Location: Hamburg
Contact:

Re: Festplattenplatz pro User

#12 Post by odauter »

Typischer Quoting-Fehler.. ;)
Achte darauf, daß die Quotes, die find einrahmen ` sind und keine '! Also einfache Quotes die von links oben nach rechts unten zeigen.
bye.olli
--
"Where's Oswald when we need him.."

Marc

Re: Festplattenplatz pro User

#13 Post by Marc »

aah, danke! jetzt funzts <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

kiko

Re: Festplattenplatz pro User

#14 Post by kiko »

habe es auch ausprobiert und bin glücklich :oP

Danke Leute

kiko

kiko

Re: Festplattenplatz pro User

#15 Post by kiko »

Läuft wunderbar nur habe ich ein kleines Problem.
Wenn ich das Skript ausführe und beim Starten als erste Variable / eingebe,
bekomme ich ein als Ergebnis
testuser 3 MB Platzverbrauch

wenn ich als Variable /home/servername/ mitgebe bekomme ich
testuser 400 MB Platzverbrauch

Wie ist das möglich?

/home/servername/ wird von mehreren Servern gemountet. Stört das den Ablauf??

Post Reply