В сценарии:
Код: Выделить всё
function seconds2times($seconds)
{
$times = array();
// считать нули в значениях
$count_zero = false;
// секунд в минуте|часе|сутках|году
$periods = array(60, 3600, 86400, 31536000);
for ($i = 3; $i >= 0; $i--)
{
$period = floor($seconds/$periods[$i]);
if (($period > 0) || ($period == 0 && $count_zero))
{
$times[$i+1] = $period;
$seconds -= $period * $periods[$i];
$count_zero = true;
}
}
$times[0] = $seconds;
return $times;
}
$times_values = array('сек.','мин.','час.','д.','лет');
//----------------------------------------------------------------------------------------------------------
//уптайм сервера реальный
$uptime = gg('ThisComputer.uptime');
$seconds = array($uptime);
foreach ($seconds as $second)
{
$times = seconds2times($second);
for ($i = count($times)-1; $i >= 1; $i--)
{
$server_pc .= $times[$i] . ' ' . $times_values[$i] . ' ';
}
}
sg('ThisComputer.uptimeTXT', $server_pc);
//////////////////////////////////////////////////////
//рекорд уптайма
if ($uptime > gg('ThisComputer.uptimeRecord')) {
sg('ThisComputer.uptimeRecord', $uptime);
// uptime рекорда
$uptimeRec = gg('ThisComputer.uptime');
$secondsRec = array($uptimeRec);
foreach ($secondsRec as $secondRec)
{
$timesRec = seconds2times($secondRec);
for ($i = count($timesRec)-1; $i >= 1; $i--)
{
$server_pcRec .= $timesRec[$i] . ' ' . $times_values[$i] . ' ';
}
}
sg('ThisComputer.uptimeRecordTXT', $server_pcRec.' ['.date("d.m.Y").']');
}
//----------------------------------------------------------------------------------------------------------
//уптайм мегаД рельного времени
$megad = preg_replace("/.*Uptime: (.*)<.*$/U", "$1", file_get_contents("http://192.168.0.200/sec/?cf=1"));
$format_ins = array( 'd', ':', ' 0' ); $format_end = array( " д. ", " час. ", " " );
$megad_form = str_replace($format_ins, $format_end, $megad);
sg('statusTerminal.uptime', $megad_form.' мин.');
//////////////////////////////////////////////////////
//рекорд уптайма без спецсимволов
$format_insFormat = array( 'd ', ':' ); $format_endFormat = array( "", "" );
$megad_formFormat = str_replace($format_insFormat, $format_endFormat, $megad);
if ($megad_formFormat > gg('statusTerminal.uptimeRecord')) {
//записываем данные
sg('statusTerminal.uptimeRecord', $megad_formFormat);
//расшифровка (добавление текста)
$uptimeRecord = gg('statusTerminal.uptimeRecord'); //чтоб подгрузились новые записанные данные
$one=substr($uptimeRecord,-2); $two=substr($uptimeRecord,-4,2);
if (strlen($uptimeRecord) == 5) { $fre=substr($uptimeRecord,0,1);}
if (strlen($uptimeRecord) == 6) { $fre=substr($uptimeRecord,-6,2);}
sg('statusTerminal.uptimeRecordTXT', $fre.' д. '.$two.' час. '.$one.' мин. ['.date("d.m.Y").']');
}
Далее в меню
Код: Выделить всё
Uptime сервер: <span title="Рекорд %ThisComputer.uptimeRecordTXT%">%ThisComputer.uptimeTXT%</span><br/>
Uptime MegaD: <span title="Рекорд %statusTerminal.uptimeRecordTXT%">%statusTerminal.uptime%</span><br/><br/>
Код: Выделить всё
if ($m%5 == 0) { //опрос каждые 5 минут
runScript('СЦЕНАРИЙ'); //uptime
}