Schrift
[thread]6088[/thread]

HD-Grösse/-Speicherplatz berechnen



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
Gast Gast
 2004-02-22 02:43
#80266 #80266
Hallihallo

Ich würde gerne mit Perl unter Linux (Knoppix) den Speicherplatz einer Festplatte auslesen, d.h. die Gesamtgrösse der HD oder der freie Speicherplatz. Hat da jemand eine Idee, wie man das machen könnte? Mit stat... kann man leider nur die Grösse von Verzeichnissen und Dateien, aber nicht von HD's abrufen.

Merci schon im voraus für eure Tipps!
rs204
Crian
 2004-02-22 03:19
#80267 #80267
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
df zeigt Dir (u. a. freien) den freien Speicher auf allen Partitionen an.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
coax
 2004-02-22 03:47
#80268 #80268
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Wenn du die Informationen nicht selbst aus der Ausgabe von df filtern willst, kannst du Filesys::DiskFree nehmen, das macht es leichter.

Gruss Christian.
,,Das perlt aber heute wieder...'' -- Dittsche
ahnungsloser
 2004-02-22 20:55
#80269 #80269
User since
2003-09-03
80 Artikel
BenutzerIn
[default_avatar]
Hi,

ich stimme Crian zu, ein df Command könnte weiterhelfen, es gibt dor ein Schalter -k, glaub ich ?????????? Die Man Pages sind da echt hilfreich, hatte solche Probs unter W2K, da kann dir das Modul, Win32::Driveinfo helfen, vielleicht gibt es sowas auch für Linux?

Cuu
rs204
 2004-02-22 22:53
#80270 #80270
User since
2004-02-22
4 Artikel
BenutzerIn
[default_avatar]
Danke für den prompten Feedback. Den df-Befehl habe ich auch schon entdeckt, nur ist mein Problem, dass ich den Rückgabewert nicht in eine Perl-Variable kriege. Naja, ich bin halt noch ein Anfänger :( . Könnte mir da jemand ein Beispiel machen, wie so ein Code aussehen könnte? Ich habe schon mit system und syscall herumprobiert, aber leider keine Lösung gefunden. Ich möchte ausserdem ohne zusätzliche Perl-Module auskommen, das sollte ja irgendwie möglich sein. Danke für eure Mühe.

Gruss
rs204
esskar
 2004-02-22 22:57
#80271 #80271
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
my $dfretval = `df`;

print $defval;
;
rs204
 2004-02-22 23:20
#80272 #80272
User since
2004-02-22
4 Artikel
BenutzerIn
[default_avatar]
Aha, so simpel hätte ich es mir nicht vorgestellt. Gewusst wie!! ;-) Danke schön, da hab ich wieder was dazugelernt. Jetzt muss ich mir nur noch den richtigen Wert aus dem String holen, aber das werde ich hoffentlich irgendwie fertigbringen...
[E|B]
 2004-02-23 11:47
#80273 #80273
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wieso verwendest du denn nicht das von coax genannte Modul? Einfach kann es doch gar nicht mehr gehen.
Ein Beispiel:

Code: (dl )
1
2
3
4
5
6
7
use Filesys::DiskFree;
use strict;

my $disk = new Filesys::DiskFree;
$disk->df();

print "Es sind noch ".$disk->avail("/"). " Bytes frei.";


Finde das Modul klasse. Du kannst den kompletten Speicher herausfinden und sogar das Verzeichnis ("/") angeben. Was will man mehr?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
rs204
 2004-02-24 03:31
#80274 #80274
User since
2004-02-22
4 Artikel
BenutzerIn
[default_avatar]
Das ist eine berechtigte Frage, wieso ich kein zusätzliches Modul verwenden will. Ich benötige den Code für ein Backup-Script, das unter Knoppix läuft, welches ab CD gebootet wird. Die Vorgabe ist also, wenn irgendwie möglich ohne Zusatz-Module auszukommen...
ptk
 2004-02-24 11:39
#80275 #80275
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=rs204,24.Feb..2004, 02:31]Das ist eine berechtigte Frage, wieso ich kein zusätzliches Modul verwenden will. Ich benötige den Code für ein Backup-Script, das unter Knoppix läuft, welches ab CD gebootet wird. Die Vorgabe ist also, wenn irgendwie möglich ohne Zusatz-Module auszukommen...[/quote]
Leute: wenn es sich um ein Pure-Perl-Modul handelt und es keine weiteren Abhaengigkeiten gibt (kann man leicht durch Betrachten von PREREQ_PM im Makefile.PL des Moduls sehen), nimmt man einfach den entsprechen Modulcode, entfernt vielleicht noch das Pod und packt ihn unter Verwendung von { ... } an den Anfang des eigenen Skriptes.

Wenn dir noch zu viel Ballast FileSys::DiskFree ist (z.B. brauchst du die Unterstuetzung fuer Nicht-Linux-Betriebssysteme nicht), kannst du diese einfach entfernen.
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-02-22 02:43.