From 4569cae57f127afd093794310ccd290d2d9fdf36 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Wed, 20 Apr 2016 10:58:46 -0400 Subject: [PATCH] Merge branch 'stable-3.1' --- server/lib/classes/cron.d/100-monitor_database_size.inc.php | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/server/lib/classes/cron.d/100-monitor_database_size.inc.php b/server/lib/classes/cron.d/100-monitor_database_size.inc.php index 3e9cecf..d2981dd 100644 --- a/server/lib/classes/cron.d/100-monitor_database_size.inc.php +++ b/server/lib/classes/cron.d/100-monitor_database_size.inc.php @@ -78,16 +78,31 @@ $state = 'ok'; /** Fetch the data of all databases into an array */ - $databases = $app->db->queryAllRecords("SELECT database_name, sys_groupid FROM web_database WHERE server_id = ? GROUP BY sys_groupid, database_name ASC", $server_id); + $databases = $app->db->queryAllRecords("SELECT database_id, database_name, sys_groupid, database_quota, quota_exceeded FROM web_database WHERE server_id = ? GROUP BY sys_groupid, database_name ASC", $server_id); if(is_array($databases) && !empty($databases)) { $data = array(); for ($i = 0; $i < sizeof($databases); $i++) { - $data[$i]['database_name']= $databases[$i]['database_name']; - $data[$i]['size'] = $app->db->getDatabaseSize($databases[$i]['database_name']); - $data[$i]['sys_groupid'] = $databases[$i]['sys_groupid']; + $rec = $databases[$i]; + + $data[$i]['database_name']= $rec['database_name']; + $data[$i]['size'] = $app->db->getDatabaseSize($rec['database_name']); + $data[$i]['sys_groupid'] = $rec['sys_groupid']; + + $quota = $rec['database_quota'] * 1024 * 1024; + if(!is_numeric($quota)) continue; + + if($quota < 1 || $quota > $data[$i]['size']) { + print $rec['database_name'] . ' does not exceed quota qize: ' . $quota . ' > ' . $data[$i]['size'] . "\n"; + if($rec['quota_exceeded'] == 'y') { + $app->dbmaster->datalogUpdate('web_database', array('quota_exceeded' => 'n'), 'database_id', $rec['database_id']); + } + } elseif($rec['quota_exceeded'] == 'n') { + print $rec['database_name'] . ' exceeds quota qize: ' . $quota . ' < ' . $data[$i]['size'] . "\n"; + $app->dbmaster->datalogUpdate('web_database', array('quota_exceeded' => 'y'), 'database_id', $rec['database_id']); + } } $res = array(); -- Gitblit v1.9.1