mirror of
https://github.com/unraid/webgui.git
synced 2026-01-24 10:28:39 -06:00
41 lines
1.5 KiB
PHP
Executable File
41 lines
1.5 KiB
PHP
Executable File
#!/usr/bin/php -q
|
|
<?PHP
|
|
/* Copyright 2005-2023, Lime Technology
|
|
* Copyright 2012-2023, Bergware International.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2,
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*/
|
|
?>
|
|
<?
|
|
$docroot = '/usr/local/emhttp';
|
|
$varroot = '/var/local/emhttp';
|
|
require_once "$docroot/webGui/include/publish.php";
|
|
|
|
while (true) {
|
|
unset($memory,$sys,$rpms,$lsof);
|
|
exec("grep -Po '^Mem(Total|Available):\s+\K\d+' /proc/meminfo",$memory);
|
|
exec("df /boot /var/log /var/lib/docker|grep -Po '\d+%'",$sys);
|
|
exec("sensors -uA 2>/dev/null|grep -Po 'fan\d_input: \K\d+'",$rpms);
|
|
[$total,$free] = $memory;
|
|
$used = $total-$free;
|
|
$zfs = (exec("awk '/^size/{print \$3;exit}' /proc/spl/kstat/zfs/arcstats 2>/dev/null")?:0)/1024;
|
|
$info = max(round(100*(1-$free/$total)),0)."%\0".round(100*$zfs/$used)."%\0".implode("\0",$sys);
|
|
$rpms = count($rpms) ? implode(" RPM\0",$rpms).' RPM' : '';
|
|
|
|
$names = array_keys((array)parse_ini_file("$varroot/shares.ini"));
|
|
exec("LANG='en_US.UTF8' lsof -Owl /mnt/disk[0-9]* 2>/dev/null|awk '/^shfs/ && \$0!~/\.AppleD(B|ouble)/ && \$5==\"REG\"'|awk -F/ '{print \$4}'",$lsof);
|
|
$counts = array_count_values($lsof); $count = [];
|
|
foreach ($names as $name) $count[] = $counts[$name] ?? 0;
|
|
$count = implode("\0",$count);
|
|
|
|
publish('update1', "$info\1$rpms\1$count");
|
|
sleep(5);
|
|
}
|
|
?>
|
|
|