From 21c641cb28510fe775b2f11c17744d74e972b018 Mon Sep 17 00:00:00 2001 From: Florian Schaal <florian@schaal-24.de> Date: Mon, 21 Oct 2013 10:34:41 -0400 Subject: [PATCH] add database-size monitoring. the results stored in the database may be used to add the db-size to the web-quota, too. --- server/lib/classes/db_mysql.inc.php | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletions(-) diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index 23ba8a6..acd86aa 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -265,6 +265,31 @@ } + /** + * Function to get the database-size + * @param string $database_name + * @return int - database-size in bytes + */ + public function getDatabaseSize($database_name) { + global $app; + include('lib/mysql_clientdb.conf'); + /* Connect to the database */ + $link = mysql_connect($clientdb_host, $clientdb_user, $clientdb_password); + if (!$link) { + $app->log('Unable to connect to the database'.mysql_error($link),LOGLEVEL_DEBUG); + return; + } + /* Get database-size from information_schema */ + $result=mysql_query("SELECT SUM(data_length+index_length) FROM information_schema.TABLES WHERE table_schema='".$database_name."';",$link); + $this->close; + if (!$result) { + $app->log('Unable to get the database-size'.mysql_error($link),LOGLEVEL_DEBUG); + return; + } + $database_size = mysql_fetch_row($result); + return $database_size[0]; + } + //** Function to fill the datalog with a full differential record. public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new, $force_update = false) { global $app,$conf; @@ -645,4 +670,4 @@ } - ?> \ No newline at end of file + ?> -- Gitblit v1.9.1