+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Aug 2012
    Beiträge
    464

    Standard Server Festplatten Status prüfen (SMART)

    Damit ich nicht immer selbst nachschauen muss mit Crystal Disk info, hier ein Script, das einmal täglich eingeplant werden kann um den Status der Festplatten zu lesen:
    PHP-Code:
    <?
    /* Script Info:
      Dieses script prüft mittels den smart tools für windows
       http://sourceforge.net/projects/smartmontools/files/smartmontools
      in welchem Zustand die Festplatten sind. Bentutz wird die
      smartctl.exe - es reicht, diese irgendwo hin zu kopieren, wo
      Windows sie findet. zb. windows\system32
    */

     /* ++++++++++ CONFIG ++++++++++++++++++++++++*/
     
    $disks[] ="/dev/hda";
     
    $disks[] ="/dev/hdb";
     
    $disks[] ="/dev/hdc";
     
    $disks[] ="/dev/hdd";

     
    $command "smartctl --health <disk>";

     
    // Create variables for disk status
     
    $c_diskvar true// false if not
      /* ++++++++++ END CONFIG ++++++++++++++++++++++++*/


     
    echo "Prüfe Laufwerksstatus:\n\n";

     
    $alarmfalse;
     foreach (
    $disks as $disk){
       
    $e_cmd str_replace("<disk>",$disk,$command);
       unset(
    $output);
        
    exec($e_cmd,$output);
        if(
    strpos(implode($output" "),"PASSED")>0){
          
    $status "OK";
          
    $status_b true;
        } else {
            
    $status "Problem";
             
    $status_b false;
           
    $alarmtrue;
        }
        echo 
    "Laufwerk $disk Zustand: $status\n";

     }

    if (
    $c_diskvar){
            
    setValue(CreateVariableByName($_IPS['SELF'],"Harddisk Alarm",0,"~Alert"),$alarm);
    }

    function 
    CreateVariableByName($id$name$type$profile "")
    {
        
    # type: 0=boolean, 1 = integer, 2 = float, 3 = string;
        
    global $IPS_SELF;
        
    $vid = @IPS_GetVariableIDByName($name$id);
        if(
    $vid === false)
        {
            
    $vid IPS_CreateVariable($type);
            
    IPS_SetParent($vid$id);
            
    IPS_SetName($vid$name);
            
    IPS_SetInfo($vid"this variable was created by script #".$_IPS["SELF"]);
            if(
    $profile !== "") { IPS_SetVariableCustomProfile($vid$profile); }
        }
        return 
    $vid;
    }
    ?>
    Geändert von Stele99 (28.11.12 um 21:12 Uhr)
    • IPS auf HP Proliant N40L 1x64GB SSD, 3TB, 6GB RAM •
    • Z-Wave von Fibaro und Everspring • OpenWRT Ansteuerung • 1-Wire •
    • WMRS 200 Wetterstation • CAPI mit FritzBox •

  2. #2
    Registriert seit
    Aug 2010
    Beiträge
    4,758

    Oh, alte und neue Schreibweise von $_IPS['SELF'] gemischt

    Neuer Link ab V6 (wird aber auch umgeleitet) :
    http://sourceforge.net/projects/smar...tmontools/6.0/


    Gruß
    Bruno

  3. #3
    Registriert seit
    Aug 2012
    Beiträge
    464

    Zitat Zitat von Powerfreddy Beitrag anzeigen
    Oh, alte und neue Schreibweise von $_IPS['SELF'] gemischt
    CUT AND PASTE.. fehler ;-)
    • IPS auf HP Proliant N40L 1x64GB SSD, 3TB, 6GB RAM •
    • Z-Wave von Fibaro und Everspring • OpenWRT Ansteuerung • 1-Wire •
    • WMRS 200 Wetterstation • CAPI mit FritzBox •

  4. #4
    Registriert seit
    May 2013
    Beiträge
    397

    Danke, funktioniert auch unter raspbian problemlos

    Sebastian
    Geändert von Buzz2912 (22.03.18 um 19:22 Uhr)

Ähnliche Themen

  1. Server per SNMP abfragen (Prozesse, Festplatten und CPU)
    Von thorsten9 im Forum Projekt Showcase
    Antworten: 0
    Letzter Beitrag: 11.04.12, 21:40
  2. Aktor alive prüfen
    Von kadorf im Forum 1-Wire, M-BUS
    Antworten: 7
    Letzter Beitrag: 29.09.10, 11:10
  3. Access Point prüfen
    Von hbraun im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 6
    Letzter Beitrag: 01.02.09, 21:40
  4. NAS / LAN Festplatten
    Von hmpf99 im Forum Allgemeine Diskussion
    Antworten: 28
    Letzter Beitrag: 10.02.07, 00:21
  5. Festplatten Inhalt wird nicht mehr angezeigt
    Von roadsterhh im Forum Off Topic
    Antworten: 18
    Letzter Beitrag: 10.01.07, 01:33