Größe der Home Directories ermitteln
Hi,
zunächst möchte ich kurz anmerken, dass ich nicht genau wusste, in welchen Bereich mein Problem passt.
Betriebssystem: Red Hat
stat -f xxx
File: "xxx"
ID: 3e70070c7d4 Namelen: 255 Type: UNKNOWN (0xa501fcf5)
Blocks: Total: 157286400 Free: 37133190 Available: 34839097 Size: 1024
Inodes: Total: 10715956 Free: 9283294
Nun zu meinem Problem:
Ich soll die Größen der Home Directories ermitteln.
Sollte ja eigentlich kein Problem sein 'du -sh'.
Jedoch wurde mir vorgegeben, dass ich den kdirstat-cache-writer verwenden soll.
Soweit so gut.
Das Script soll in Python realisiert werden.
Der relevante Teil des Scriptes sieht so aus:
Script läuft, ich kriege ein Ergebnis:
146319.87793 kB
146319/1024 = 142 MB
Nun liefert mir 'du -sh':
80M
'du -sb' liefert mir:
149837413 Byte
149837413/1024=146325 kB
146325 /1024 = 142 MB
Sieht dem oberen Wert doch recht ähnlich?
Nun habe ich gesehen das 'du -b' die Block-size in 1 Byte ändert.
Bei du -s -B 1 /xxx/mollus/ erhalte ich:
83837952 Byte
83837952 /1024=81873 kB
81873 /1024=79 MB
Hm super... also das gleiche, wie bei 'du -sh'
Das Ergebnis von du -sh soll das "richtige" Ergebnis sein. Ich soll du -sh jedoch nicht verwenden.
Das lustige ist, dass das Script auf einem anderem Mount korrekt funktioniert; also korrekte Ergebnisse liefert.
Auf "meinem" Mount nur eben nicht.
Nun dachte ich, es könnte an verschiedenen Block-sizes liegen.
"Meine" Block-size sollte 4096 sein. Also dachte ich, ich kann einfach rechnen:
*4096
/1024
(für die Byte)
/1024
(für die kB)
/1024
(für die MB)
Ergebnis: 571 MB also komplett falsch.
Nun weiß ich vor lauter Zahlen einfach nicht mehr weiter
Wäre nett, wenn mir jemand helfen könnte.
Danke und viele Grüße
molluska
zunächst möchte ich kurz anmerken, dass ich nicht genau wusste, in welchen Bereich mein Problem passt.
Betriebssystem: Red Hat
stat -f xxx
File: "xxx"
ID: 3e70070c7d4 Namelen: 255 Type: UNKNOWN (0xa501fcf5)
Blocks: Total: 157286400 Free: 37133190 Available: 34839097 Size: 1024
Inodes: Total: 10715956 Free: 9283294
Nun zu meinem Problem:
Ich soll die Größen der Home Directories ermitteln.
Sollte ja eigentlich kein Problem sein 'du -sh'.
Jedoch wurde mir vorgegeben, dass ich den kdirstat-cache-writer verwenden soll.
Soweit so gut.
Das Script soll in Python realisiert werden.
Der relevante Teil des Scriptes sieht so aus:
def callkDirStat(path, logger):
if os.path.islink(path):
kDirPath=''+ path + '/'
else:
kDirPath=''+ path + ''
abPath=sys.path
kDirFileLines=commands.getoutput('/usr/bin/perl \
'+ abPath +'/kdirstat-cache-writer.pl \
'+ kDirPath +'').split('\n')
size=float(0)
for line in range(8,len(kDirFileLines)-1):
buffer = kDirFileLines[line].strip();
buffer = buffer.split()
if(len(buffer)>2):
try:
size+=float(buffer[2])
except ValueError:
if kDirFileLines[line].find('Permission denied')!=-1 :
logger.warn(kDirFileLines[line])
size=size/1024
return size
Script läuft, ich kriege ein Ergebnis:
146319.87793 kB
146319/1024 = 142 MB
Nun liefert mir 'du -sh':
80M
'du -sb' liefert mir:
149837413 Byte
149837413/1024=146325 kB
146325 /1024 = 142 MB
Sieht dem oberen Wert doch recht ähnlich?
Nun habe ich gesehen das 'du -b' die Block-size in 1 Byte ändert.
Bei du -s -B 1 /xxx/mollus/ erhalte ich:
83837952 Byte
83837952 /1024=81873 kB
81873 /1024=79 MB
Hm super... also das gleiche, wie bei 'du -sh'
Das Ergebnis von du -sh soll das "richtige" Ergebnis sein. Ich soll du -sh jedoch nicht verwenden.
Das lustige ist, dass das Script auf einem anderem Mount korrekt funktioniert; also korrekte Ergebnisse liefert.
Auf "meinem" Mount nur eben nicht.
Nun dachte ich, es könnte an verschiedenen Block-sizes liegen.
"Meine" Block-size sollte 4096 sein. Also dachte ich, ich kann einfach rechnen:
*4096
/1024
(für die Byte)
/1024
(für die kB)
/1024
(für die MB)
Ergebnis: 571 MB also komplett falsch.
Nun weiß ich vor lauter Zahlen einfach nicht mehr weiter
Wäre nett, wenn mir jemand helfen könnte.
Danke und viele Grüße
molluska
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155252
Url: https://administrator.de/forum/groesse-der-home-directories-ermitteln-155252.html
Ausgedruckt am: 23.04.2025 um 17:04 Uhr
4 Kommentare
Neuester Kommentar