makeProxy.php
1.92 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
/*
* Executable to make 'base.xml' proxies for Remote Centers (DD Server)
* Updates Global Start/Stop in remote temporary data sets
*/
error_reporting(E_ERROR);
if (!function_exists('__autoload')) {
function __autoload($class_name) {
require_once $class_name . '.php';
}
}
putenv("LD_LIBRARY_PATH=".getenv("LD_LIBRARY_PATH"));
putenv("PATH=./:".getenv("DDBASEBIN").":/bin:/usr/bin");
set_include_path("./:".getenv("DATAMANAGER").":".getenv("REMOTEDATA").":".getenv("CALLEXT"));
$DDBASE=getenv("DDBASE");
if (is_link($DDBASE)) {
$DDBASE=readlink($DDBASE);
if ($DDBASE === FALSE) {
exit(0);
}
}
$LOGDIR = $DDBASE."/../LOG";
if (!is_dir($LOGDIR))
mkdir($LOGDIR, 0775, true);
define("log",$LOGDIR."/ProxyCreate.log");
define("err",$LOGDIR."/ProxyCreate.err");
if (file_exists(log)) unlink(log);
if (file_exists(err)) unlink(err);
define('RemoteData', $DDBASE."/../INFO");
define('DDBASE', $DDBASE."/");
// check permissions
$perms = fileperms(RemoteData);
if (! ($perms & 0x0010))
exit('chmod -R g+wrx INFO dir !!! no write perms for group (apache)'.PHP_EOL);
if (!file_exists(RemoteData."/Bases.xml"))
exit('No Bases.xml'.PHP_EOL);
$basesDom = new DomDocument("1.0");
if (!$basesDom->load(RemoteData."/Bases.xml"))
exit('Cannot load Bases.xml'.PHP_EOL);
$bases = $basesDom->getElementsByTagName("dataCenter");
if ($bases->length == 0)
exit('No Bases'.PHP_EOL);
$useSpase = true;
foreach ($bases as $base)
{
// isSimulation -> proxy is being made at AMDA
if ($base->hasAttribute("isSimulation"))
continue;
$class = $base->getAttribute('xml:id');
echo PHP_EOL.$class.PHP_EOL;
$center = new $class();
// if ($center->monitor())
// {
$center->initProxy();
$center->makeProxy();
$center->saveProxy();
$center->updateBufferDataBase();
// }
// else
// {
// print_r("Attention : $class service is down");
// }
}
?>