Subversion-Projekte lars-tiefland.openvz_admin

Revision

Revision 112 | Revision 114 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

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