From 28cd07d1a75c4e9dcaecac49efee0091f2fc62fa Mon Sep 17 00:00:00 2001
From: A. Täffner <darkalex@firesplash.de>
Date: Thu, 07 Apr 2016 05:30:49 -0400
Subject: [PATCH] Implemented a checkbox "enable DNSSEC" in DNS-Wizard. This Checkbox can be enabled or disabled by template.
---
server/lib/classes/cron.d/100-monitor_system_update.inc.php | 100 +++++++++++++++++++++++++-------------------------
1 files changed, 50 insertions(+), 50 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 022d667..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
@@ -29,39 +29,45 @@
*/
class cronjob_monitor_system_update extends cronjob {
-
- // job schedule
- protected $_schedule = '0 * * * *';
- protected $_run_at_new = true;
-
- private $_tools = null;
-
- /* this function is optional if it contains no custom code */
- public function onPrepare() {
- global $app;
-
- parent::onPrepare();
- }
-
- /* this function is optional if it contains no custom code */
- public function onBeforeRun() {
- global $app;
-
- return parent::onBeforeRun();
- }
-
- public function onRunJob() {
- global $app, $conf;
-
- /* used for all monitor cronjobs */
- $app->load('monitor_tools');
- $this->_tools = new monitor_tools();
- /* end global section for monitor cronjobs */
-
+
+ // job schedule
+ protected $_schedule = '0 * * * *';
+ protected $_run_at_new = true;
+
+ private $_tools = null;
+
+ /* this function is optional if it contains no custom code */
+ public function onPrepare() {
+ global $app;
+
+ parent::onPrepare();
+ }
+
+ /* this function is optional if it contains no custom code */
+ public function onBeforeRun() {
+ global $app;
+
+ return parent::onBeforeRun();
+ }
+
+ 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();
+ /* end global section for monitor cronjobs */
+
/* the id of the server as int */
$server_id = intval($conf['server_id']);
/** The type of the data */
+
+
$type = 'system_update';
/* This monitoring is only available on Debian or Ubuntu */
@@ -70,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';
@@ -175,33 +181,27 @@
//* Ensure that output is encoded so that it does not break the serialize
//$res['data']['output'] = htmlentities($res['data']['output']);
- $res['data']['output'] = htmlentities($res['data']['output'],ENT_QUOTES,'UTF-8');
+ $res['data']['output'] = htmlentities($res['data']['output'], ENT_QUOTES, 'UTF-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']);
-
- parent::onRunJob();
- }
-
- /* this function is optional if it contains no custom code */
- public function onAfterRun() {
- global $app;
-
- parent::onAfterRun();
- }
+
+ parent::onRunJob();
+ }
+
+ /* this function is optional if it contains no custom code */
+ public function onAfterRun() {
+ global $app;
+
+ parent::onAfterRun();
+ }
}
--
Gitblit v1.9.1