Subversion-Projekte lars-tiefland.openvz_admin

Revision

Revision 75 | Revision 101 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?php
9 lars 2
	//$Id: load.php 100 2008-02-19 20:45:48Z lars $
3 lars 3
	require("include/common.php");
100 lars 4
	$hns=HN::getHNs();
5
	unset($hns[-1]);
6
	foreach($hns as $hn_id=>$hn_name)
3 lars 7
	{
100 lars 8
		$cmd="ssh root@$hn_name ls /etc/vz/conf/???.conf";
3 lars 9
		unset($out);
61 lars 10
		exec($cmd, $out, $ret);
100 lars 11
		$files=$out;
12
		foreach($files as $conf)
3 lars 13
		{
100 lars 14
			$conf=basename($conf);
15
			unset($out);
16
			$cmd="scp root@$hn_name:/etc/vz/conf/???.conf cfgs/$hn_id";
17
			exec($cmd, $out, $ret);
18
			$cont_f=file("cfgs/$conf");
19
			$cont_f[]="v_id=\"".substr($conf,0,3)."\"";
20
			$cont[]=$cont_f;
3 lars 21
		}
100 lars 22
		foreach($cont as $conf)
3 lars 23
		{
100 lars 24
			foreach($conf as $value)
3 lars 25
			{
100 lars 26
				if($value)
3 lars 27
				{
100 lars 28
					$value=rtrim($value);
29
					if($value[0]==" " || $value[0]=="#")
3 lars 30
					{
100 lars 31
						continue;
3 lars 32
					}
100 lars 33
					$cfg_v=explode("=",$value);
34
					$cfg_val[$cfg_v[0]]=trim($cfg_v[1],'"');
3 lars 35
				}
100 lars 36
				else
37
				{
38
					contine;
39
				}
3 lars 40
			}
100 lars 41
			$cfgs[]=$cfg_val;
3 lars 42
		}
100 lars 43
		$i=0;
44
		foreach($cfgs as $conf)
3 lars 45
		{
100 lars 46
			$sql="SELECT * FROM distributions WHERE dist_name='".$conf["DISTRIBUTION"]."'";
3 lars 47
			$res=$db->query($sql);
48
			if(!PEAR::isError($res))
49
			{
50
				if($res->numRows())
51
				{
100 lars 52
					$row=$res->fetchRow();
53
					$dist_id=$row["dist_id"];
3 lars 54
				}
55
				else
56
				{
100 lars 57
					$sql="INSERT INTO distributions (dist_name, dist_template) VALUES('".$conf["DISTRIBUTION"]."', '".$conf["OSTEMPLATE"]."')";
58
					$res=$db->query($sql);
59
					$dist_id=$res->lastinsertID();
3 lars 60
				}
100 lars 61
				$sql="SELECT * FROM vservers WHERE v_id=".$conf["v_id"];
3 lars 62
				$res=$db->query($sql);
100 lars 63
				if(!PEAR::isError($res))
3 lars 64
				{
100 lars 65
					if(!$res->numRows())
66
					{
67
						$sql="INSERT INTO vservers (v_id, v_name, v_dist, hn_id) VALUES (".$conf["v_id"].", '".$conf["HOSTNAME"]."', $dist_id, 1)";
68
						$res=$db->query($sql);
69
						if(PEAR::isError($res))
70
						{
71
							echo $res->getUserInfo();
72
						}
73
					}
3 lars 74
				}
75
			}
76
			else
77
			{
78
				echo $res->getUserInfo();
79
			}
100 lars 80
			foreach($conf as $field => $value)
81
			{
82
				$sql="SELECT * FROM vserver_config WHERE vc_name='$field' AND v_id=".$conf["v_id"];
83
				$res=$db->query($sql);
84
				if(!PEAR::isError($res))
85
				{
86
					if($res->numRows())
87
					{
88
						$sql="UPDATE vserver_config SET vc_value='$value' WHERE vc_name='$field' AND v_id=".$conf["v_id"];
89
					}
90
					else
91
					{
92
						$sql="INSERT INTO vserver_config VALUES (".$conf["v_id"].", '$field', '$value')";
93
					}
94
					$res=$db->query($sql);
95
					if(PEAR::isError($res))
96
					{
97
						echo $res->getUserInfo();
98
					}
99
				}
100
				else
101
				{
102
					echo $res->getUserInfo();
103
				}
3 lars 104
 
100 lars 105
			}
106
			$i++;
3 lars 107
		}
108
	}
109
?>