From 34d684aa34e5225f12a62dce183e2bb35cd05958 Mon Sep 17 00:00:00 2001 From: A. Täffner <darkalex@firesplash.de> Date: Mon, 25 Jan 2016 10:44:59 -0500 Subject: [PATCH] wrong RFC... my bad... never happened :) --- server/lib/classes/cron.d/100-monitor_system_update.inc.php | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) diff --git a/server/lib/classes/cron.d/100-monitor_system_update.inc.php b/server/lib/classes/cron.d/100-monitor_system_update.inc.php index e6cf821..bc4f521 100644 --- a/server/lib/classes/cron.d/100-monitor_system_update.inc.php +++ b/server/lib/classes/cron.d/100-monitor_system_update.inc.php @@ -53,6 +53,10 @@ public function onRunJob() { global $app, $conf; + $app->uses('getconf'); + $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); + if($server_config['monitor_system_updates'] == 'n') return; + /* used for all monitor cronjobs */ $app->load('monitor_tools'); $this->_tools = new monitor_tools(); @@ -72,13 +76,13 @@ /* * first update the "apt database" */ - shell_exec('apt-get update'); + shell_exec('while fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do sleep 2; done; apt-get update'); /* * Then test the upgrade. * if there is any output, then there is a needed update */ - $aptData = shell_exec('apt-get -s -qq dist-upgrade'); + $aptData = shell_exec('while fuser /var/lib/dpkg/lock >/dev/null 2>&1 || fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do sleep 2; done; apt-get -s -qq dist-upgrade'); if ($aptData == '') { /* There is nothing to update! */ $state = 'ok'; @@ -183,14 +187,8 @@ * Insert the data into the database */ $sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' . - 'VALUES (' . - $res['server_id'] . ', ' . - "'" . $app->dbmaster->quote($res['type']) . "', " . - 'UNIX_TIMESTAMP(), ' . - "'" . $app->dbmaster->quote(serialize($res['data'])) . "', " . - "'" . $res['state'] . "'" . - ')'; - $app->dbmaster->query($sql); + 'VALUES (?, ?, UNIX_TIMESTAMP(), ?, ?)'; + $app->dbmaster->query($sql, $res['server_id'], $res['type'], serialize($res['data']), $res['state']); /* The new data is written, now we can delete the old one */ $this->_tools->delOldRecords($res['type'], $res['server_id']); -- Gitblit v1.9.1