Created
December 29, 2016 20:55
-
-
Save simonardejr/aab99a17bcefa2c201173b68a402ea55 to your computer and use it in GitHub Desktop.
Remake of the famous Raspberry Pi Sysinfo Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| // modified by PROXIMO https://gist.github.com/PROX1MO | |
| header("Cache-Control: no-cache, must-revalidate"); | |
| header("Expires: Sat, 26 May 1983 13:00:00 GMT"); | |
| header("Pragma: no-cache"); | |
| function NumberWithCommas($in) | |
| { | |
| return number_format($in); | |
| } | |
| function WriteToStdOut($text) | |
| { | |
| $stdout = fopen('php://stdout','w') or die($php_errormsg); | |
| fputs($stdout, "\n" . $text); | |
| } | |
| $ip = exec("ifconfig eth0 | grep 'inet addr'| cut -d: -f2 | cut -d' ' -f1"); | |
| $current_time = exec("date +'%d %b %Y - %T'"); | |
| $users = exec("who | wc -l"); | |
| $frequency = exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq") / 1000; | |
| $processor = str_replace("-compatible processor", "", explode(": ", exec("cat /proc/cpuinfo | grep Processor"))[1]); | |
| $cpufrequtil = exec("cpufreq-info -s -m | grep 'MHz' | cut -d'(' -f1"); //requires cpufrequtil | |
| $distro = exec("lsb_release -a | grep Description | cut -d: -f2"); | |
| $cpu_temperature = round(exec("cat /sys/class/thermal/thermal_zone0/temp ") / 1000, 1); | |
| $RX = round(exec("ifconfig eth0 | grep 'RX bytes' | cut -d: -f2 | cut -d' ' -f1") /1000000, 2); | |
| $RXer = exec("ifconfig eth0 | grep 'RX packets' | cut -d: -f3 | cut -d' ' -f1"); | |
| $RXdr = exec("ifconfig eth0 | grep 'RX packets' | cut -d: -f4 | cut -d' ' -f1"); | |
| $TX = round(exec("ifconfig eth0 | grep 'TX bytes' | cut -d: -f3 | cut -d' ' -f1") /1000000, 2); | |
| $TXer = exec("ifconfig eth0 | grep 'TX packets' | cut -d: -f3 | cut -d' ' -f1"); | |
| $TXdr = exec("ifconfig eth0 | grep 'TX packets' | cut -d: -f4 | cut -d' ' -f1"); | |
| $proc_all = exec("ps -A | wc -l"); | |
| $proc_sleep = exec("ps -N | wc -l"); | |
| $proc_run = exec("ps r | wc -l"); | |
| $proc_stop = exec("ps s | wc -l"); | |
| $cores = exec("nproc"); | |
| // $loadaverages = exec("uptime | cut -d':' -f5"); | |
| $locale = exec("locale -a"); | |
| list($system, $host, $kernel) = split(" ", exec("uname -a"), 4); | |
| //Uptime | |
| $uptime_array = explode(" ", exec("cat /proc/uptime")); | |
| $seconds = round($uptime_array[0], 0); | |
| $minutes = $seconds / 60; | |
| $hours = $minutes / 60; | |
| $days = floor($hours / 24); | |
| $hours = sprintf('%02d', floor($hours - ($days * 24))); | |
| $minutes = sprintf('%02d', floor($minutes - ($days * 24 * 60) - ($hours * 60))); | |
| if ($days == 0): | |
| $uptime = $hours . " h " . $minutes . " m"; | |
| elseif($days == 1): | |
| $uptime = $days . " day " . $hours . " h " . $minutes . " m"; | |
| else: | |
| $uptime = $days . " days " . $hours . " h " . $minutes . " m"; | |
| endif; | |
| //CPU Usage | |
| $output1 = null; | |
| $output2 = null; | |
| //First sample | |
| exec("cat /proc/stat", $output1); | |
| //Sleep before second sample | |
| sleep(1); | |
| //Second sample | |
| exec("cat /proc/stat", $output2); | |
| $cpuload = 0; | |
| for ($i=0; $i < 1; $i++) | |
| { | |
| //First row | |
| $cpu_stat_1 = explode(" ", $output1[$i+1]); | |
| $cpu_stat_2 = explode(" ", $output2[$i+1]); | |
| //Init arrays | |
| $info1 = array("user"=>$cpu_stat_1[1], "nice"=>$cpu_stat_1[2], "system"=>$cpu_stat_1[3], "idle"=>$cpu_stat_1[4]); | |
| $info2 = array("user"=>$cpu_stat_2[1], "nice"=>$cpu_stat_2[2], "system"=>$cpu_stat_2[3], "idle"=>$cpu_stat_2[4]); | |
| $idlesum = $info2["idle"] - $info1["idle"] + $info2["system"] - $info1["system"]; | |
| $sum1 = array_sum($info1); | |
| $sum2 = array_sum($info2); | |
| //Calculate the cpu usage as a percent | |
| $load = (1 - ($idlesum / ($sum2 - $sum1))) * 100; | |
| $cpuload += $load; | |
| } | |
| $cpuload = round($cpuload, 1); //One decimal place | |
| // Load averages | |
| $loadavg = file("/proc/loadavg"); | |
| if (is_array($loadavg)) { | |
| $loadaverages = strtok($loadavg[0], " "); | |
| for ($i = 0; $i < 2; $i++) { | |
| $retval = strtok(" "); | |
| if ($retval === FALSE) break; else $loadaverages .= ", " . $retval; | |
| } | |
| } | |
| //Memory Utilisation | |
| $meminfo = file("/proc/meminfo"); | |
| for ($i = 0; $i < count($meminfo); $i++) | |
| { | |
| list($item, $data) = split(":", $meminfo[$i], 2); | |
| $item = trim(chop($item)); | |
| $data = intval(preg_replace("/[^0-9]/", "", trim(chop($data)))); //Remove non numeric characters | |
| switch($item) | |
| { | |
| case "MemTotal": $total_mem = $data; break; | |
| case "MemFree": $free_mem = $data; break; | |
| case "SwapTotal": $total_swap = $data; break; | |
| case "SwapFree": $free_swap = $data; break; | |
| case "Buffers": $buffer_mem = $data; break; | |
| case "Cached": $cache_mem = $data; break; | |
| default: break; | |
| } | |
| } | |
| $used_mem = $total_mem - $free_mem; | |
| $used_swap = $total_swap - $free_swap; | |
| $percent_free = round(($free_mem / $total_mem) * 100); | |
| $percent_used = round(($used_mem / $total_mem) * 100); | |
| $percent_swap = round((($total_swap - $free_swap ) / $total_swap) * 100); | |
| $percent_swap_free = round(($free_swap / $total_swap) * 100); | |
| $percent_buff = round(($buffer_mem / $total_mem) * 100); | |
| $percent_cach = round(($cache_mem / $total_mem) * 100); | |
| $used_mem = NumberWithCommas($used_mem /1024,0); | |
| $used_swap = NumberWithCommas($used_swap /1024,0); | |
| $total_mem = NumberWithCommas($total_mem /1024,0); | |
| $free_mem = NumberWithCommas($free_mem /1024,0); | |
| $total_swap = NumberWithCommas($total_swap /1024,0); | |
| $free_swap = NumberWithCommas($free_swap /1024,0); | |
| $buffer_mem = NumberWithCommas($buffer_mem /1024,0); | |
| $cache_mem = NumberWithCommas($cache_mem /1024,0); | |
| $scale = 1.7; //Bar lenght *X | |
| //Disk space check | |
| exec("df -T -BM -x tmpfs -x devtmpfs -x rootfs", $diskfree); | |
| $count = 1; | |
| while ($count < sizeof($diskfree)) | |
| { | |
| list($drive[$count], $typex[$count], $size[$count], $used[$count], $avail[$count], $percent[$count], $mount[$count]) = split(" +", $diskfree[$count]); | |
| $percent_part[$count] = str_replace( "%", "", $percent[$count]); | |
| $count++; | |
| } | |
| ?> | |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <title>SYSinfo: <?php echo $host; ?></title> | |
| <link rel="shortcut icon" href="data:image/x-icon;base64,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" /> | |
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> | |
| <meta http-equiv="refresh" content="60" /> | |
| <style type="text/css"> | |
| #Content | |
| { | |
| width:460px; | |
| margin:0px auto; | |
| text-align:left; | |
| padding:15px; | |
| border:1px dashed #333333; | |
| } | |
| a | |
| { | |
| color:white; | |
| padding-top:5px; | |
| display:block; | |
| } | |
| a:hover | |
| { | |
| text-decoration:none; | |
| } | |
| td | |
| { | |
| font-family:"DejaVu Sans",Arial,Helvetica,sans-serif; | |
| font-size:12px; | |
| vertical-align:top; | |
| padding-left:2px; | |
| padding-right:2px; | |
| background:#1c1c1c; | |
| } | |
| td.center | |
| { | |
| text-align:center; | |
| } | |
| td.head | |
| { | |
| font-weight:bold; | |
| padding-top:3px; | |
| padding-bottom:3px; | |
| } | |
| td.d0 | |
| { | |
| background-color: #404040; | |
| } | |
| td.d1 | |
| { | |
| background: #404040 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDM4NjA2MjZGMzJEMTFFMDk4QjVEODUxRTI3ODA3QTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDM4NjA2MjdGMzJEMTFFMDk4QjVEODUxRTI3ODA3QTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0Mzg2MDYyNEYzMkQxMUUwOThCNUQ4NTFFMjc4MDdBMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0Mzg2MDYyNUYzMkQxMUUwOThCNUQ4NTFFMjc4MDdBMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtyzKqEAAAJlSURBVDjLdZNLSNRRFMbPvfc45hiT5CuyUcypkIpIGw21NB9JKZhuTJHa9Fi0yJ4LIZSgXPSgRUH0QpCSMKk2BVEI1cKSkLJFRGiEELZoUwkt5Ou7VlLDzP1zmP+5fN/vnnPP/AWA+OCyjBZrzY3AYjuuyeYR84MMZbQ6NfeT0+04fweZ72GkzPn+ASwJRQwa+gQ7bgua7wpKjgqMleHCDu7d4d6goOmmIHeLeENFLCAYzDPTHU9/C+suCFofCbKjNN8T1F4SNPYLdr0QhKvmAJFYgF/dJZ2CnSM00RxuoTAgSK2gmRW10Vx9VmCdGfLieADD50FRMw37FLkBRZMsQtgq6todorsJVBmlLi0RIGeDJE+OSSnqJYSHdh2gDXjrNqJdMvBSolgrgQnqshIBDlx1K3Hc5qDJpqHTLsUxvp92+dhrs9Br83HZrfDi/fEAmZnixgtNEs7bAp68FR+1AmGjeKUlzOsx4Faj3ASRZ/S9r/Y/gBE5+ditR5cNY0o345tW46fWoMykYIKgGeZftQpn3HI802JQ3xsL6Pukm1DJE/pdIX7QcIXt+IqOsI3PhA65NSg1C/BByz3gemwL9dtsCI2MbOMQofEWS/5O0HNXPJd7WI/NRa1JnaW+Jt4lvvmilRjVKFZRPMMWfCW+/3abPn8XGcZNxJ0Cy+rxZSKpESd4Upddhndahosugm7mfqQjhKuYgURjTEsRO+zHtd2EUGNSccrmoY2n15mFOMfpZIt7TV1+IoBfjnGIn+bUEy3CrNZhTEsRFDvN/cP+m/krTASY/1cSco13Mfmn5IJYgff9As2Wgq1FkDRlAAAAAElFTkSuQmCC") no-repeat; | |
| padding-left: 17px; /* Equal to width of new image */ | |
| } | |
| td.right | |
| { | |
| text-align:right; | |
| padding-right:6px; | |
| } | |
| td.left | |
| { | |
| text-align:left; | |
| padding-left:6px; | |
| } | |
| table | |
| { | |
| width:460px; border-spacing:0; | |
| border-collapse:collapse; | |
| } | |
| html,body,.darkbackground | |
| { | |
| background: url("data:image/png;base64,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"); | |
| } | |
| body | |
| { | |
| color:#E6E6E6; | |
| } | |
| td.column1 | |
| { | |
| width:120px; | |
| } | |
| td.column3 | |
| { | |
| width:185px; | |
| } | |
| td.column4 | |
| { | |
| width:20px; | |
| } | |
| div#bar1, div#bar2, div#bar3, div#bar4, div#bar5, div#bar6 | |
| { | |
| height:15px; | |
| width:0px; | |
| transition:width 2s; | |
| <?php | |
| $agent = ""; | |
| if(isset($_SERVER['HTTP_USER_AGENT'])) | |
| { | |
| $agent = $_SERVER['HTTP_USER_AGENT']; | |
| } | |
| if(strlen(stristr($agent,"applewebkit")) > 0 ) echo "\n\t\t\t\t-webkit-transition:width 2s;\n"; | |
| else if(strlen(stristr($agent,"gecko")) > 0 ) echo "\n\t\t\t\t-moz-transition:width 2s;\n"; | |
| else if(strlen(stristr($agent,"opera")) > 0 ) echo "\n\t\t\t\t-o-transition:width 2s;\n"; | |
| ?> | |
| } | |
| div#bar1 { background-color:#D78787; } | |
| div#bar2 { background-color:#AFD787; } | |
| div#bar3 { background-color:#F7F7AF; } | |
| div#bar4 { background-color:#87AFD7; } | |
| div#bar5 { background-color:#D7AFD7; } | |
| div#bar6 { background-color:#AFD7D7; } | |
| </style> | |
| <script type="text/javascript"> | |
| function updateText(objectId, text) | |
| { | |
| document.getElementById(objectId).textContent = text; | |
| } | |
| function updateHTML(objectId, html) | |
| { | |
| document.getElementById(objectId).innerHTML = html; | |
| } | |
| function updateDisplay() | |
| { | |
| <?php | |
| echo "\n\t\t\t\tupdateText(\"host\",\"$host\" + \" ($ip)\");"; | |
| echo "\n\t\t\t\tupdateText(\"time\",\"$current_time\");"; | |
| // echo "\n\t\t\t\tupdateText(\"users\",\"$users\");"; | |
| echo "\n\t\t\t\tupdateText(\"kernel\",\"$system\" + \" \" + \"$kernel\");"; | |
| echo "\n\t\t\t\tupdateText(\"processor\",\"$processor\");"; | |
| echo "\n\t\t\t\tupdateText(\"distro\",\"$distro\");"; | |
| echo "\n\t\t\t\tupdateText(\"freq\",\"$frequency\" + \" MHz / \" + \"(x $cores) / \" + \"$users\");"; | |
| echo "\n\t\t\t\tupdateText(\"cpuload\",\"$cpuload% / \" + \"$loadaverages\");"; | |
| // echo "\n\t\t\t\tupdateText(\"loadavg\",\"$loadaverages\");"; | |
| echo "\n\t\t\t\tupdateText(\"cpu_temperature\",\"$cpu_temperature\" + \"°C\");"; | |
| echo "\n\t\t\t\tupdateText(\"processes\",\"$proc_all\" + \" ($proc_run run, \" + \"$proc_sleep sleep, \" + \"$proc_stop stop)\");"; | |
| echo "\n\t\t\t\tupdateText(\"local\",\"$locale\");"; | |
| echo "\n\t\t\t\tupdateText(\"cpufrequtil\",\"$cpufrequtil\");"; | |
| echo "\n\t\t\t\tupdateText(\"uptime\",\"$uptime\");"; | |
| echo "\n\t\t\t\tupdateText(\"total_mem\",\"$total_mem\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"used_mem\",\"$used_mem\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_used\",\"$percent_used%\");"; | |
| echo "\n\t\t\t\tupdateText(\"free_mem\",\"$free_mem\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_free\",\"$percent_free%\");"; | |
| echo "\n\t\t\t\tupdateText(\"buffer_mem\",\"$buffer_mem\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_buff\",\"$percent_buff%\");"; | |
| echo "\n\t\t\t\tupdateText(\"cache_mem\",\"$cache_mem\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_cach\",\"$percent_cach%\");"; | |
| echo "\n\t\t\t\tupdateText(\"rx\",\"$RX\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"rxerd\",\"$RXer\" + \"/$RXdr\");"; | |
| echo "\n\t\t\t\tupdateText(\"tx\",\"$TX\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"txerd\",\"$TXer\" + \"/$TXdr\");"; | |
| echo "\n\t\t\t\tupdateText(\"total_swap\",\"$total_swap\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"used_swap\",\"$used_swap\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_swap\",\"$percent_swap%\");"; | |
| echo "\n\t\t\t\tupdateText(\"free_swap\",\"$free_swap\" + \" MB\");"; | |
| echo "\n\t\t\t\tupdateText(\"percent_swap_free\",\"$percent_swap_free%\");\n"; | |
| ?> | |
| document.getElementById("bar1").style.width = "<?php echo round($percent_used * $scale); ?>px"; | |
| document.getElementById("bar2").style.width = "<?php echo round($percent_free * $scale); ?>px"; | |
| document.getElementById("bar3").style.width = "<?php echo round($percent_buff * $scale); ?>px"; | |
| document.getElementById("bar4").style.width = "<?php echo round($percent_cach * $scale); ?>px"; | |
| document.getElementById("bar5").style.width = "<?php echo round($percent_swap * $scale); ?>px"; | |
| document.getElementById("bar6").style.width = "<?php echo round($percent_swap_free * $scale); ?>px"; | |
| } | |
| </script> | |
| </head> | |
| <body onload="Javascript: updateDisplay();"> | |
| <div id="Content"> | |
| <table align="center"> | |
| <tr> | |
| <td colspan="4" class="head center">Raspberry Info</td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">Hostname</td> | |
| <td colspan="2" class="d0" id="host"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">System Time</td> | |
| <td colspan="2" id="time"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">Kernel</td> | |
| <td colspan="2" class="d0" id="kernel"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">Processor</td> | |
| <td colspan="2" id="processor"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">Distribution</td> | |
| <td colspan="2" class="d1" id="distro"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">Freq / Cores / Users</td> | |
| <td colspan="2" id="freq"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">CPU Freq Stats</td> | |
| <td colspan="2" class="d0" id="cpufrequtil"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">CPU Load / Averages</td> | |
| <td colspan="2" id="cpuload"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">CPU Temperature</td> | |
| <td colspan="2" class="d0" id="cpu_temperature"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">Processes</td> | |
| <td colspan="2" id="processes"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="d0">Locale</td> | |
| <td colspan="2" class="d0" id="local"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="2">Uptime</td> | |
| <td colspan="2" id="uptime"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="4" class="darkbackground"> </td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="head right">Memory:</td> | |
| <td colspan="2" class="head" id="total_mem"></td> | |
| </tr> | |
| <tr> | |
| <td class="column1 d0">Used</td> | |
| <td class="right d0" id="used_mem"></td> | |
| <td class="column3 d0"><div id="bar1"> </div></td> | |
| <td class="right column4 d0" id="percent_used"></td> | |
| </tr> | |
| <tr> | |
| <td>Free</td> | |
| <td class="right" id="free_mem"></td> | |
| <td><div id="bar2"></div></td> | |
| <td class="right" id="percent_free"></td> | |
| </tr> | |
| <tr> | |
| <td class="d0">Buffered</td> | |
| <td class="right d0" id="buffer_mem"></td> | |
| <td class="d0"><div id="bar3"></div></td> | |
| <td class="right d0" id="percent_buff"></td> | |
| </tr> | |
| <tr> | |
| <td>Cached</td> | |
| <td class="right" id="cache_mem"></td> | |
| <td><div id="bar4"></div></td> | |
| <td class="right" id="percent_cach"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="4" class="darkbackground"> </td> | |
| </tr> | |
| <tr> | |
| <td colspan="2" class="head right">Swap:</td> | |
| <td colspan="2" class="head" id="total_swap"></td> | |
| </tr> | |
| <tr> | |
| <td class="d0">Used</td> | |
| <td class="right d0" id="used_swap"></td> | |
| <td class="d0"><div id="bar5"></div></td> | |
| <td class="right d0" id="percent_swap"></td> | |
| </tr> | |
| <tr> | |
| <td>Free</td> | |
| <td class="right" id="free_swap"></td> | |
| <td><div id="bar6"></div></td> | |
| <td class="right" id="percent_swap_free"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="4" class="darkbackground"> </td> | |
| </tr> | |
| <tr> | |
| <td colspan="4" class="head center">Network Usage</td> | |
| </tr> | |
| <tr> | |
| <td class="d0">Received</td> | |
| <td class="right d0" id="rx"></td> | |
| <td class="d0">Errors / Dropped</td> | |
| <td class="right d0" id="rxerd"></td> | |
| </tr> | |
| <tr> | |
| <td>Sent</td> | |
| <td class="right" id="tx"></td> | |
| <td>Errors / Dropped</td> | |
| <td class="right" id="txerd"></td> | |
| </tr> | |
| <tr> | |
| <td colspan="4" class="darkbackground"> </td> | |
| </tr> | |
| </table> | |
| <table id="tblDiskSpace" align="center"> | |
| <tr> | |
| <td colspan="4" class="head center">Disk Usage</td> | |
| </tr> | |
| <?php | |
| for ($i = 1; $i < $count; $i++) | |
| { | |
| $total = NumberWithCommas(intval(preg_replace("/[^0-9]/", "", trim($size[$i])))) . " MB"; | |
| $usedspace = NumberWithCommas(intval(preg_replace("/[^0-9]/", "", trim($used[$i])))) . " MB"; | |
| $freespace = NumberWithCommas(intval(preg_replace("/[^0-9]/", "", trim($avail[$i])))) . " MB"; | |
| echo "\n\t\t\t<tr>"; | |
| echo "\n\t\t\t\t<td class=\"head\" colspan=\"4\">" . $mount[$i] . " (" . $typex[$i] . ")</td>"; | |
| echo "\n\t\t\t</tr>"; | |
| echo "\n\t\t\t<tr>"; | |
| echo "\n\t\t\t\t<td class=\"d0\"> </td>"; | |
| echo "\n\t\t\t\t<td class=\"d0\">Total Size</td>"; | |
| echo "\n\t\t\t\t<td class=\"right d0\">" . $total . "</td>"; | |
| echo "\n\t\t\t\t<td class=\"right d0\"> </td>"; | |
| echo "\n\t\t\t</tr>"; | |
| echo "\n\t\t\t<tr>"; | |
| echo "\n\t\t\t\t<td> </td>"; | |
| echo "\n\t\t\t\t<td>Used</td>"; | |
| echo "\n\t\t\t\t<td class=\"right\">" . $usedspace . "</td>"; | |
| echo "\n\t\t\t\t<td class=\"right\">" . $percent[$i] . "</td>"; | |
| echo "\n\t\t\t</tr>"; | |
| echo "\n\t\t\t<tr>"; | |
| echo "\n\t\t\t\t<td class=\"d0\"> </td>"; | |
| echo "\n\t\t\t\t<td class=\"d0\">Available</td>"; | |
| echo "\n\t\t\t\t<td class=\"right d0\">" . $freespace . "</td>"; | |
| echo "\n\t\t\t\t<td class=\"right d0\">" . (100-(floatval($percent_part[$i]))) . "%</td>"; | |
| echo "\n\t\t\t</tr>"; | |
| if ($i < $count-1): | |
| echo "\n\t\t\t<tr><td colspan=\"4\"> </td></tr>"; | |
| endif; | |
| } | |
| ?> | |
| </table> | |
| <table align="center"> | |
| <tr> | |
| <td class="left darkbackground"><a style="font-size:12px; color: #000000;" href="https://gist.github.com/PROX1MO" title="Download" target="blank">Source</a></td><td class="right darkbackground"><a style="font-size:12px; color: #000000;" href="javascript:location.reload(true);" title="Auto refresh every 60s">Refresh</a></td> | |
| </tr> | |
| </table> | |
| </div> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment