File: snmpagent_mibcache.php

package info (click to toggle)
cacti 1.2.30%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 67,184 kB
  • sloc: php: 123,193; javascript: 29,825; sql: 2,595; xml: 1,823; sh: 1,229; perl: 194; makefile: 65; python: 51; ruby: 9
file content (57 lines) | stat: -rw-r--r-- 2,436 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/*
 +-------------------------------------------------------------------------+
 | Copyright (C) 2004-2024 The Cacti Group                                 |
 |                                                                         |
 | This program is free software; you can redistribute it and/or           |
 | modify it under the terms of the GNU General Public License             |
 | as published by the Free Software Foundation; either version 2          |
 | of the License, or (at your option) any later version.                  |
 |                                                                         |
 | This program is distributed in the hope that it will be useful,         |
 | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
 | GNU General Public License for more details.                            |
 +-------------------------------------------------------------------------+
 | Cacti: The Complete RRDtool-based Graphing Solution                     |
 +-------------------------------------------------------------------------+
 | This code is designed, written, and maintained by the Cacti Group. See  |
 | about.php and/or the AUTHORS file for specific developer information.   |
 +-------------------------------------------------------------------------+
 | http://www.cacti.net/                                                   |
 +-------------------------------------------------------------------------+
*/

/* let's report all errors */
error_reporting(E_ALL);

require(__DIR__ . '/include/cli_check.php');

/* allow the script to hang around. */
set_time_limit(0);

chdir(dirname(__FILE__));

$path_mibcache = $config['base_path'] . '/cache/mibcache/mibcache.tmp';
$path_mibcache_lock = $config['base_path'] . '/cache/mibcache/mibcache.lock';

/* remove temporary cache */
@unlink($path_mibcache);

/* remove lock file */
@unlink($path_mibcache_lock);

/* start background caching process if not running */
$php = cacti_escapeshellcmd(read_config_option('path_php_binary'));
$extra_args     = ' ' . cacti_escapeshellarg('./snmpagent_mibcachechild.php');

while(1) {
	if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
		popen('start "CactiSNMPCacheChild" /I ' . $php . ' ' . $extra_args, 'r');
	} else {
		exec($php . ' ' . $extra_args . ' > /dev/null &');
	}

	sleep(30 - time() % 30);
}