Festplattenplatz pro User
Festplattenplatz pro User
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
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
Re: Festplattenplatz pro User
Sowas?
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">du -sh /home/*</font><hr></pre></blockquote>
<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.."
--
"Where's Oswald when we need him.."
Re: Festplattenplatz pro User
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
ZB:
müller hat auf den Server x 350MB Festplattenplatz besetzt
meier hat auf den Server x 54GB Festplattenplatz besetzt usw.
any ideas?
kiko
Re: Festplattenplatz pro User
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.. :/)
<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.."
--
"Where's Oswald when we need him.."
Re: Festplattenplatz pro User
@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
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
Re: Festplattenplatz pro User
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">
#!/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">
Re: Festplattenplatz pro User
> 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..
Ä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.
Re: Festplattenplatz pro User
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
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
Re: Festplattenplatz pro User
öhm, sorry. wollt nur die fehlermeldung rauskopieren wega dem syntaxfehler
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
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
Re: Festplattenplatz pro User
@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.
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.
Re: Festplattenplatz pro User
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.
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.."
--
"Where's Oswald when we need him.."
Re: Festplattenplatz pro User
aah, danke! jetzt funzts <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: Festplattenplatz pro User
habe es auch ausprobiert und bin glücklich :oP
Danke Leute
kiko
Danke Leute
kiko
Re: Festplattenplatz pro User
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??
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??