Thread Festplattenbelegung ausgeben+speichern
(16 answers)
Opened by zottel335i at 2008-06-30 17:02
Hallo wieder mal,
nachdem ich mir nun einige Grundlagen bzgl. Perl angeeignet habe, ist der erste Teil meines "Analyse"-Skriptes auch schon fertig. Ich kann nun die gewünschten Informationen abfragen. Allerdings nur für Windowssysteme. Ich bitte Euch darum mal über das Skript zu schaun und evtl. unsauber programmierte Stellen mit mir zu besprechen. Viel wichtiger wäre mir Hilfe bei Vorüberlegungen und der Implementation für eine Abfrage von Linuxsystemen. Mein Skript sieht bisher wie folgt aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #!/usr/bin/perl use strict; use IO::File; use Win32; use Win32::AdminMisc; use Win32::OLE qw (in); use Net::SSH; # Ordner, in dem die CSV-Datei liegt my $dir = '.'; # Trennzeichen in der Datei my $sep = ';'; # Datei oeffnen open(DATEN,'<c:\perl\systems.txt') or die "Konnte die Datei nicht öffnen"; # Inhalte abgreifen und splitten while (defined(my $zeile = DATEN->getline)) { my ($FQDN, $OS, $HDD, $USER, $PW) = split(/;/,$zeile); # Abfrage der WindowsHosts if($OS eq 'win') { # Verbindungsaufbau my $conn_object = Win32::OLE->new('WbemScripting.SWbemLocator'); my $server = $conn_object->ConnectServer($FQDN, "root\\cimv2", $USER, $PW); # Abfrage des Datentraeger my $total; my $free; ($total, $free) = Win32::AdminMisc::GetDriveSpace("$HDD:\\"); $total = $total / 1024 /1024; # MegaByte! $free = $free / 1024 /1024; # MegaByte! printf ("\n"); printf ("Speicher gesamt: $total MB\n"); printf ("Speicher verfuegbar: $free MB\n"); } # Abfrage LinuxHosts if($OS eq 'lin') { # Verbindungsaufbau ???????????????????????????? } }close(DATEN); printf ("\n"); printf("schleife tot..."); Die Logininformationen (IP,PW, Festplatte) lasse ich aus einer Datei holen. Später werde ich die Ergebnisse auch noch in eine Datei zurückschreiben lassen(bisher Standardausgabe). Was brauche ich nun um die Speicherbelegung eines bestimmten Unix-Volumes abzufragen? Ich stelle mir da sowas vor, wie einen SSH connect auf die Maschine. Dann eine "Eingabe" von df -h o.ä. Anschliessend sollte dann der Wert der Speicherbelegung abgegriffen werden. Völlig unklar ist mir, ob ich dazu einen SSH-Client brauche, auf den Perl zugreift oder ob die Lib das schon alles mitbringt. Auch die Realisierung des Codes macht mir noch Gedanken... Vielen Dank für die Hilfe Grüße, zottel |