diff options
author | jim-p <jimp@pfsense.org> | 2012-04-17 11:39:58 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2012-04-17 11:39:58 -0400 |
commit | 2f0a49e922e282a1abc641ec9d489f2678e069be (patch) | |
tree | 32a56d13699d05845e64ebef702ccc0c2d3a5d1c /usr/local | |
parent | 4f8adcb66a92e5fe20027045113ea55a089fdf2e (diff) | |
download | pfsense-2f0a49e922e282a1abc641ec9d489f2678e069be.zip pfsense-2f0a49e922e282a1abc641ec9d489f2678e069be.tar.gz |
Add contributed SMART Status widget - http://forum.pfsense.org/index.php/topic,48447.0.html
Diffstat (limited to 'usr/local')
-rw-r--r-- | usr/local/www/widgets/widgets/smart_status.widget.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/usr/local/www/widgets/widgets/smart_status.widget.php b/usr/local/www/widgets/widgets/smart_status.widget.php new file mode 100644 index 0000000..b3793d0 --- /dev/null +++ b/usr/local/www/widgets/widgets/smart_status.widget.php @@ -0,0 +1,48 @@ +<?php +require_once("guiconfig.inc"); +require_once("pfsense-utils.inc"); +require_once("functions.inc"); +$devs = array(); +?> + +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <? + echo '<td class="widgetsubheader"><b><center>' . gettext("Drive") . '</center></b></td>'; + echo '<td class="widgetsubheader"><b><center>' . gettext("Ident") . '</center></b></td>'; + echo '<td class="widgetsubheader"><b><center>' . gettext("SMART Status") . '</center></b></td>'; + ?> + </tr> + +<?php + +// Get all AD* and DA* (IDE and SCSI) devices currently installed and st$ +exec("ls /dev | grep '^[ad][da][0-9]\{1,2\}$'", $devs); + +if(count($devs) > 0) { + foreach($devs as $dev) { + $dev_state = exec("smartctl -a /dev/$dev | grep result: | awk '{print $6}'"); + $dev_ident = exec("diskinfo -v /dev/$dev | grep ident | awk '{print $1}'"); + ##erste Spalte: Drives ausgeben + echo '<tr><td class="listlr">'; + echo '/dev/'. $dev ; + echo '</td>' . "\n"; + + ##zweite Spalte + echo '<td class="listr"><center>' . "\n"; + echo $dev_ident ; + echo '</td>' . "\n"; + + ##dritte Spalte: smartstatus ausgeben + echo '<td class="listr">'; #tabellenspalte + + if($dev_state == "PASSED") + echo "<span style=\"background-color:#00FF00\">$dev_state</span><br>"; ##gruener Hintergrund bei PASSED + else + echo "<span style=\"background-color:#FF0000\">$dev_state</span><br>"; ##roter Hintergrund sonst + echo '</td></tr>' . "\n"; #tabellenspalte + } +} +?> +</table> +<center><a href="diag_smart.php" class="navlink">SMART Status</a></center>
\ No newline at end of file |