// Выполняем опрос сенсоров сервера
// Допустимость показаний проверяем в systemStates Server
// Опрос температуры процессора и системы
exec("sensors",$asensors);
for($i=0;$i<count($asensors);$i++) {
preg_match("/[^:]*\:[ ]*([0-9+-.]*)/",$asensors[$i],$arr);
$temp = trim($arr[1]);
$temp = str_replace('+','',$temp);
switch (substr($asensors[$i],0,6)) {
case 'temp1:':
setGlobal("TempGPU", $temp);
break;
case 'temp2:':
setGlobal("TempSystem2", $temp);
break;
case 'temp3:':
setGlobal("TempSystem3", $temp);
break;
case 'Core 0':
setGlobal("TempCore0", $temp);
break;
case 'Core 1':
setGlobal("TempCore1", $temp);
break;
case 'Core 2':
setGlobal("TempCore2", $temp);
break;
case 'Core 3':
setGlobal("TempCore3", $temp);
break;
};
// Скорость вращения кулеров
switch (substr($asensors[$i],0,4)) {
case 'fan3':
setGlobal("SysFan", $temp);
break;
case 'fan4':
setGlobal("CoreFan", $temp);
break;
};
};
//Температура винчестера 1
$temp=exec("sudo \/usr\/sbin\/hddtemp \/dev\/sda");
preg_match("/[^:]*\:[ ]*[^:]*\:[ ]*([0-9+-.]*)/",$temp,$arr);
$temp = trim($arr[1]);
$temp = str_replace('+','',$temp);
setGlobal("TempHDD1", $temp);
//Температура винчестера 2
$temp=exec("sudo \/usr\/sbin\/hddtemp \/dev\/sdb");
preg_match("/[^:]*\:[ ]*[^:]*\:[ ]*([0-9+-.]*)/",$temp,$arr);
$temp = trim($arr[1]);
$temp = str_replace('+','',$temp);
setGlobal("TempHDD2", $temp);
$data = shell_exec('uptime');
$uptime = explode(' up ', $data);
$uptime = explode(',', $uptime[1]);
setGlobal("Uptime", $temp);
//Свободное место на винчестерах
// Всего по системе
$bytes = disk_free_space(".");
$si_prefix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'EB', 'ZB', 'YB' );
$base = 1024;
$class = min((int)log($bytes , $base) , count($si_prefix) - 1);
$temp = round($bytes / pow($base,$class)) . ' ' . $si_prefix[$class];
setGlobal("FreespaceHDD1", $temp);
//На файловом винчестере
$bytes = disk_free_space("/mnt/work");
$si_prefix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'EB', 'ZB', 'YB' );
$base = 1024;
$class = min((int)log($bytes , $base) , count($si_prefix) - 1);
$temp = round($bytes / pow($base,$class)) . ' ' . $si_prefix[$class];
setGlobal("FreespaceHDD2", $temp);