Subversion-Projekte lars-tiefland.openvz_admin

Revision

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