Ich mache sowas auch und überlege das auch noch etwas zu verfeinern, indem das ergebnis noch grafisch aufbereitet wird.
Voraussetzung ist aber, das PHP und der Server (user: www-data) die gewünschten Programme überhaupt benutzen darf falls dafür sudo erforderlich ist. Das kann man aber über einen entsprechenden Eintrag in /etc/sudoers (nur mit vidudo!) erreichen.
Mein (noch) aktuelles PHP Modul dafür sieht so aus:
<?php // Version: 20090301
// Hardware Status
//
// Atention! The locations of the executable files may differ on some systems.
// You also must add the following line to the file /etc/sudoers (visudo)
// > www-data ALL=NOPASSWD: /usr/sbin/hddtemp, /usr/bin/sensors
//
if( basename($_SERVER["PHP_SELF"]) == "hw_status.php"){
Header( sprintf('Location: http://%s/index.php', $_SERVER['HTTP_HOST']));
die();
}
// enable the following line if you don't want this page to be updated automatically
$meta_add .= "<meta http-equiv=\"refresh\" content=\"60; url=?a=hw_status\">\n";
$content .=
"<h1>Server Hardware Status</h1>\n".
"<dl>\n";
$content .= "<h3>Drives</h3><pre>";
$cmd = "sudo /usr/sbin/hddtemp /dev/sdb";
$res = shell_exec( $cmd );
/* filtern */
$content .= "<pre>";
$content .= $res;
$content .= "</pre>";
?>
Das ist jetzt allerdings völlig aus dem Zusammenhang gerissen, aber ich hoffe, das die Idee trotzdem erkennbar ist. DiesesModul wird per include von einem anderen Script eingebunden und $content enthält den gesamten Inhalt der letztendlich erzeugten HTML Seite. Wenn ich die Seitenleiste und den ganzen Zierrat weglasse, sieht die dazugehörige Ausbabe etwa so aus:
Server Hardware Status
Drives
/dev/sdb: WDC WD5000AAKS-60A7B0: 29 C
/dev/sdc: WDC WD5000AAKS-60A7B0: 29 C
Mainbord
smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
+2.5V: +2.53 V (min = +0.00 V, max = +3.32 V)
VCore: +1.15 V (min = +0.00 V, max = +2.99 V)
+3.3V: +3.30 V (min = +0.00 V, max = +4.38 V)
+5V: +5.00 V (min = +0.00 V, max = +6.64 V)
+12V: +12.19 V (min = +0.00 V, max = +15.94 V)
VCC: +3.30 V (min = +0.00 V, max = +4.38 V)
+1.5V: +1.57 V (min = +0.00 V, max = +1.99 V)
+1.8V: +1.77 V (min = +0.00 V, max = +2.39 V)
Chip Temp: +37.0 C (low = -127.0 C, high = +127.0 C)
CPU Temp: +46.0 C (low = -127.0 C, high = +50.0 C)
Sys Temp: +40.0 C (low = -127.0 C, high = +127.0 C)
cpu0_vid: +2.050 V
smsc47m1-isa-0680
Adapter: ISA adapter
fan1: 3150 RPM (min = 1280 RPM, div = 4)
fan2: 6467 RPM (min = 1280 RPM, div = 4)
Meinen Musikserver kann man sogar per Web-Server herunterfahren.