Subversion-Projekte lars-tiefland.openvz_admin

Revision

Revision 100 | Revision 109 | 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 101 2008-02-23 00:21:34Z 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
	{
101 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);
101 lars 16
			$cmd="scp root@$hn_name:/etc/vz/conf/*.conf cfgs/$hn_id";
100 lars 17
			exec($cmd, $out, $ret);
101 lars 18
			$cont_f=file("cfgs/$hn_id/$conf");
19
			$cont_f[]="v_id=\"".substr($conf,0,strpos($conf,'.'))."\"";
100 lars 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
				}
101 lars 61
				$sql="SELECT * FROM vservers WHERE v_id=".$conf["v_id"]." AND hn_id=$hn_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
					{
101 lars 67
						$sql="INSERT INTO vservers (v_id, v_name, v_dist, hn_id) VALUES (".$conf["v_id"].", '".$conf["HOSTNAME"]."', $dist_id, $hn_id)";
100 lars 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
			{
101 lars 82
				$sql="SELECT * FROM vserver_config WHERE vc_name='$field' AND v_id=".$conf["v_id"]." AND hn_id=$hn_id";
100 lars 83
				$res=$db->query($sql);
84
				if(!PEAR::isError($res))
85
				{
86
					if($res->numRows())
87
					{
101 lars 88
						$sql="UPDATE vserver_config SET vc_value='$value' WHERE vc_name='$field' AND v_id=".$conf["v_id"]." AND hn_id=$hn_id";
100 lars 89
					}
90
					else
91
					{
101 lars 92
						$sql="INSERT INTO vserver_config VALUES (".$conf["v_id"].", $hn_id, '$field', '$value')";
100 lars 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
?>