function launch_tests() { $unix = new unix(); $php = $unix->LOCATE_PHP5_BIN(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { return; } if (system_is_overloaded(basename(__FILE__))) { system_admin_events("Overloaded, aborting task...", __FUNCTION__, __FILE__, __LINE__, "system"); $unix->THREAD_COMMAND_SET("{$php} " . __FILE__); return; } @file_put_contents($pidfile, getmypid()); $datafile = "/etc/artica-postfix/settings/Daemons/HdparmInfos"; writelogs("Testing hard drives ({$datafile})", __FUNCTION__, __FILE__, __LINE__); $timenum = file_time_min($datafile); if (is_file($datafile)) { if (file_time_min($datafile) < 61) { writelogs("{$timenum}Mn executed, waiting 60Mn", __FUNCTION__, __FILE__, __LINE__); die; } } if ($GLOBALS["FIND_HDPARM"] == null) { writelogs("Unable to stat 'hdparm'", __FUNCTION__, __FILE__, __LINE__); die; } $disks = GetDisks(); if (!is_array($disks)) { return null; } while (list($index, $line) = each($disks)) { unset($results); exec("{$GLOBALS["FIND_HDPARM"]} -t {$index}", $results); while (list($num, $line_result) = each($results)) { if (preg_match("#=\\s+([0-9\\.]+)\\s+MB\\/sec\$#", $line_result, $re)) { if (preg_match("#.+?\\/(.+)\$#", $index, $ri)) { system_admin_events("{$ri[1]}:{$re[1]}MB/sec", __FUNCTION__, __FILE__, __LINE__, "system"); writelogs("testing disk {$ri[1]}:{$re[1]}MB/sec...", __FUNCTION__, __FILE__, __LINE__); $array[$ri[1]] = $re[1]; } } } } @unlink($datafile); @file_put_contents($datafile, base64_encode(serialize($array))); if (!is_file($datafile)) { writelogs("{$datafile} no such file or directory", __FUNCTION__, __FILE__, __LINE__); } }
function launch_tests() { $datafile = "/etc/artica-postfix/settings/Daemons/HdparmInfos"; writelogs("Testing hard drives ({$datafile})", __FUNCTION__, __FILE__, __LINE__); $timenum = file_time_min($datafile); if (is_file($datafile)) { if (file_time_min($datafile) < 60) { writelogs("{$timenum}Mn executed, waiting 60Mn", __FUNCTION__, __FILE__, __LINE__); die; } } if ($GLOBALS["FIND_HDPARM"] == null) { writelogs("Unable to stat 'hdparm'", __FUNCTION__, __FILE__, __LINE__); die; } $disks = GetDisks(); if (!is_array($disks)) { return null; } while (list($index, $line) = each($disks)) { unset($results); exec("{$GLOBALS["FIND_HDPARM"]} -t {$index}", $results); while (list($num, $line_result) = each($results)) { if (preg_match("#=\\s+([0-9\\.]+)\\s+MB\\/sec\$#", $line_result, $re)) { if (preg_match("#.+?\\/(.+)\$#", $index, $ri)) { writelogs("testing disk {$ri[1]}:{$re[1]}MB/sec...", __FUNCTION__, __FILE__, __LINE__); $array[$ri[1]] = $re[1]; } } } } @unlink($datafile); @file_put_contents($datafile, base64_encode(serialize($array))); if (!is_file($datafile)) { writelogs("{$datafile} no such file or directory", __FUNCTION__, __FILE__, __LINE__); } }