From b259a47d577d27ce857027fe2dc1b0b0ad626ed8 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 10 Aug 2012 05:19:45 -0400 Subject: [PATCH] Fixed: FS#2343 - Ubuntu system 12.04 uses /var/log/syslog, not /var/log/messages? --- server/lib/classes/monitor_tools.inc.php | 93 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 84 insertions(+), 9 deletions(-) diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 00b9759..bd6f6cb 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -44,8 +44,81 @@ //** Debian or Ubuntu if (file_exists('/etc/debian_version')) { + if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) { + if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) { + $lts=" LTS"; + } else { + $lts=""; + } - if (trim(file_get_contents('/etc/debian_version')) == '4.0') { + $issue=file_get_contents('/etc/issue'); + $distname = 'Ubuntu'; + $distid = 'debian40'; + $distbaseid = 'debian'; + $ver = explode(' ',$issue); + $ver = array_filter($ver); + $ver = next($ver); + $mainver = explode('.',$ver); + $mainver = array_filter($mainver); + $mainver = current($mainver).'.'.next($mainver); + switch ($mainver){ + case "12.10": + $relname = "(Quantal Quetzal)"; + break; + case "12.04": + $relname = "(Precise Pangolin)"; + break; + case "11.10": + $relname = "(Oneiric Ocelot)"; + break; + case "11.14": + $relname = "(Natty Narwhal)"; + break; + case "10.10": + $relname = "(Maverick Meerkat)"; + break; + case "10.04": + $relname = "(Lucid Lynx)"; + break; + case "9.10": + $relname = "(Karmic Koala)"; + break; + case "9.04": + $relname = "(Jaunty Jackpole)"; + break; + case "8.10": + $relname = "(Intrepid Ibex)"; + break; + case "8.04": + $relname = "(Hardy Heron)"; + break; + case "7.10": + $relname = "(Gutsy Gibbon)"; + break; + case "7.04": + $relname = "(Feisty Fawn)"; + break; + case "6.10": + $relname = "(Edgy Eft)"; + break; + case "6.06": + $relname = "(Dapper Drake)"; + break; + case "5.10": + $relname = "(Breezy Badger)"; + break; + case "5.04": + $relname = "(Hoary Hedgehog)"; + break; + case "4.10": + $relname = "(Warty Warthog)"; + break; + default: + $relname = "UNKNOWN"; + } + $distver = $ver.$lts." ".$relname; + swriteln("Operating System: ".$distver."\n"); + } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') { $distname = 'Debian'; $distver = '4.0'; $distid = 'debian40'; @@ -165,18 +238,18 @@ //* The state of the email_quota. $state = 'ok'; - $mailboxes = $app->db->queryAllRecords("SELECT email FROM mail_user WHERE server_id = $server_id"); + $mailboxes = $app->db->queryAllRecords("SELECT email,maildir FROM mail_user WHERE server_id = $server_id"); if(is_array($mailboxes)) { foreach($mailboxes as $mb) { $email = $mb['email']; $email_parts = explode('@',$mb['email']); - $filename = '/var/vmail/'.$email_parts[1].'/'.$email_parts[0].'/.quotausage'; - if(file_exists($filename)) { + $filename = $mb['maildir'].'/.quotausage'; + if(file_exists($filename) && !is_link($filename)) { $quotafile = file($filename); $data[$email]['used'] = trim($quotafile['1']); unset($quotafile); } else { - exec('du -s '.escapeshellcmd('/var/vmail/'.$email_parts[1].'/'.$email_parts[0]),$out); + exec('du -s '.escapeshellcmd($mb['maildir']),$out); $parts = explode(' ',$out[0]); $data[$email]['used'] = intval($parts[0])*1024; unset($out); @@ -241,10 +314,12 @@ $data['user'][$username]['used'] += $s[2]; $data['user'][$username]['soft'] += $s[3]; $data['user'][$username]['hard'] += $s[4]; + $data['user'][$username]['files'] += $s[5]; } else { $data['user'][$username]['used'] = $s[2]; $data['user'][$username]['soft'] = $s[3]; $data['user'][$username]['hard'] = $s[4]; + $data['user'][$username]['files'] = $s[5]; } } } @@ -921,7 +996,7 @@ */ $tmp = explode("\n", $data['output']); $more = $tmp[sizeof($tmp) - 1]; - $this->_getIntArray($more); + $res = $this->_getIntArray($more); $data['bytes'] = $res[0]; $data['requests'] = $res[1]; @@ -1020,7 +1095,7 @@ /* * Fetch the output */ - $data['output'] = shell_exec('mpt-status --autoload -n'); + $data['output'] = shell_exec('mpt-status --autoload'); /* * Then calc the state. @@ -1032,7 +1107,7 @@ * The output contains information for every RAID and every HDD. * We only need the state of the RAID */ - if (strpos($item, 'raidlevel:') !== false) { + if (strpos($item, 'state ') !== false) { /* * We found a raid, process the state of it */ @@ -1608,7 +1683,7 @@ break; case 'log_messages': if ($dist == 'debian') { - $logfile = '/var/log/messages'; + $logfile = '/var/log/syslog'; } elseif ($dist == 'redhat') { $logfile = '/var/log/messages'; } elseif ($dist == 'suse') { -- Gitblit v1.9.1