Skip to content

Commit bd449bb

Browse files
committed
Add new file 100-monitor_kernel_version.inc.php to stable-3.1 in relation to recently merged commits of https://git.ispconfig.org/ispconfig/ispconfig3/merge_requests/790 and https://git.ispconfig.org/ispconfig/ispconfig3/merge_requests/791.
There is a fix to the filename for master submitted via commit https://git.ispconfig.org/ispconfig/ispconfig3/merge_requests/804 that is still pending.
1 parent 88f9b3a commit bd449bb

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2013, Marius Cramer, pixcept KG, Hj Ahmad Rasyid Hj Ismail "ahrasis"
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
class cronjob_monitor_kernel_version extends cronjob {
32+
33+
// job schedule
34+
protected $_schedule = '*/5 * * * *';
35+
protected $_run_at_new = true;
36+
37+
private $_tools = null;
38+
39+
/* this function is optional if it contains no custom code */
40+
public function onPrepare() {
41+
global $app;
42+
43+
parent::onPrepare();
44+
}
45+
46+
/* this function is optional if it contains no custom code */
47+
public function onBeforeRun() {
48+
global $app;
49+
50+
return parent::onBeforeRun();
51+
}
52+
53+
public function onRunJob() {
54+
global $app, $conf;
55+
56+
/* used for all monitor cronjobs */
57+
$app->load('monitor_tools');
58+
$this->_tools = new monitor_tools();
59+
/* end global section for monitor cronjobs */
60+
61+
/* the id of the server as int */
62+
$server_id = intval($conf['server_id']);
63+
64+
/** The type of the data */
65+
66+
$type = 'kernel_info';
67+
68+
/*
69+
Fetch the data into a array
70+
*/
71+
$kernel = shell_exec("uname -mrs");
72+
73+
$data['name'] = '';
74+
$data['version'] = $kernel;
75+
76+
/* the OS has no state. It is, what it is */
77+
$state = 'no_state';
78+
79+
$res = array();
80+
$res['server_id'] = $server_id;
81+
$res['type'] = $type;
82+
$res['data'] = $data;
83+
$res['state'] = $state;
84+
85+
/*
86+
* Insert the data into the database
87+
*/
88+
$sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' .
89+
'VALUES (?, ?, UNIX_TIMESTAMP(), ?, ?)';
90+
$app->dbmaster->query($sql, $res['server_id'], $res['type'], serialize($res['data']), $res['state']);
91+
92+
/* The new data is written, now we can delete the old one */
93+
$this->_tools->delOldRecords($res['type'], $res['server_id']);
94+
95+
parent::onRunJob();
96+
}
97+
98+
/* this function is optional if it contains no custom code */
99+
public function onAfterRun() {
100+
global $app;
101+
102+
parent::onAfterRun();
103+
}
104+
105+
}
106+
107+
?>

0 commit comments

Comments
 (0)