Subversion-Projekte lars-tiefland.openvz_admin

Revision

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

Revision 121 Revision 122
Zeile 1... Zeile 1...
1
<?php
1
<?php
2
	//$Id: load.php 121 2008-05-22 13:43:24Z lars $
2
	//$Id: load.php 122 2008-05-22 13:48:04Z 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
		$configs=load_configs($hn_id,$hn_name);
13
		$configs = load_configs($hn_id, $hn_name);
14
		foreach($configs as $conf_id => $config)
14
		foreach ($configs as $conf_id => $config)
15
		{
15
		{
16
			$cfg=read_config($hn_id, $hn_name,$config);
16
			$cfg = read_config($hn_id, $hn_name, $config);
17
			var_dump($cfg);
17
			update_db($cfg);
18
		}
18
		}
19
	}
19
	}
20
	
20
 
21
	function load_configs($hn_id,$hn_name)
21
	function load_configs($hn_id, $hn_name)
22
	{
22
	{
23
		unset($out);
23
		unset($out);
24
		$cmd = "ssh root@$hn_name ls /etc/vz/conf/*.conf";
24
		$cmd = "ssh root@$hn_name ls /etc/vz/conf/*.conf";
25
		exec($cmd, $out, $ret);
25
		exec($cmd, $out, $ret);
26
		return $out;
26
		return $out;
27
	}
27
	}
28
	
28
 
29
	function read_config($hn_id, $hn_name, $config)
29
	function read_config($hn_id, $hn_name, $config)
30
	{
30
	{
31
			$conf = basename($config);
31
		$conf = basename($config);
32
			$cmd = "scp root@$hn_name:/etc/vz/conf/$conf cfgs/$hn_id";
32
		$cmd = "scp root@$hn_name:/etc/vz/conf/$conf cfgs/$hn_id";
33
			exec($cmd, $out, $ret);
33
		exec($cmd, $out, $ret);
34
			$cont = file("cfgs/$hn_id/$conf");
34
		$cont = file("cfgs/$hn_id/$conf");
35
			$cont[] = "v_id=\"" . substr($conf, 0, strpos($conf, '.')) . "\"";
35
		$cont[] = "v_id=\"" . substr($conf, 0, strpos($conf, '.')) . "\"";
36
			return $cont;
36
		return $cont;
37
	}
37
	}
-
 
38
 
-
 
39
	function load_db($hn_id, $cfgs)
-
 
40
	{
38
/*		foreach ($files as $conf)
41
		foreach ($cfgs as $config)
39
		{
42
		{
-
 
43
			$sql = "SELECT * FROM distributions WHERE dist_name='" . $config["DISTRIBUTION"] .
40
			unset($cont);
44
				"'";
41
			unset($out);
45
			$res = $db->query($sql);
42
			foreach ($cont as $conf)
46
			if (!PEAR::isError($res))
43
			{
47
			{
44
				unset($cfgs);
48
				if ($res->numRows())
-
 
49
				{
45
				foreach ($conf as $value)
50
					$row = $res->fetchRow();
-
 
51
					$dist_id = $row["dist_id"];
-
 
52
				}
-
 
53
				else
46
				{
54
				{
-
 
55
					$sql = "INSERT INTO distributions (dist_name, dist_template) VALUES('" . $config["DISTRIBUTION"] .
-
 
56
						"', '" . $config["OSTEMPLATE"] . "')";
-
 
57
					$res = $db->query($sql);
-
 
58
					$dist_id = $res->lastinsertID();
-
 
59
				}
-
 
60
				$sql = "SELECT * FROM vservers WHERE v_id=" . $config["v_id"] . " AND hn_id=$hn_id";
-
 
61
				$res = $db->query($sql);
-
 
62
				if (!PEAR::isError($res))
-
 
63
				{
47
					if ($value)
64
					if (!$res->numRows())
48
					{
65
					{
-
 
66
						$sql = "INSERT INTO vservers (v_id, v_name, v_dist, hn_id) VALUES (" . $config["v_id"] .
-
 
67
							", '" . $config["HOSTNAME"] . "', $dist_id, $hn_id)";
49
						$value = rtrim($value);
68
						$res = $db->query($sql);
50
						if ($value)
69
						if (PEAR::isError($res))
51
						{
70
						{
52
							if ($value[0] == " " || $value[0] == "#")
-
 
53
							{
-
 
54
								continue;
-
 
55
							}
-
 
56
							$cfg_v = explode("=", $value);
71
							echo $res->getUserInfo();
57
							$cfg_val[$cfg_v[0]] = trim($cfg_v[1], '"');
-
 
58
						}
72
						}
59
					}
73
					}
60
					else
-
 
61
					{
-
 
62
						continue;
-
 
63
					}
-
 
64
				}
74
				}
65
				$cfgs[] = $cfg_val;
-
 
66
				foreach ($cfgs as $config)
75
				foreach ($conf as $field => $value)
67
				{
76
				{
68
					$sql = "SELECT * FROM distributions WHERE dist_name='" . $config["DISTRIBUTION"] .
77
					$sql = "SELECT * FROM vserver_config WHERE vc_name='$field' AND v_id=" . $config["v_id"] .
69
						"'";
78
						" AND hn_id=$hn_id";
70
					$res = $db->query($sql);
79
					$res = $db->query($sql);
71
					if (!PEAR::isError($res))
80
					if (!PEAR::isError($res))
72
					{
81
					{
73
						if ($res->numRows())
82
						if ($res->numRows())
74
						{
83
						{
75
							$row = $res->fetchRow();
84
							$sql = "UPDATE vserver_config SET vc_value='$value' WHERE vc_name='$field' AND v_id=" .
76
							$dist_id = $row["dist_id"];
85
								$config["v_id"] . " AND hn_id=$hn_id";
77
						}
86
						}
78
						else
87
						else
79
						{
88
						{
80
							$sql = "INSERT INTO distributions (dist_name, dist_template) VALUES('" . $config["DISTRIBUTION"] .
89
							$sql = "INSERT INTO vserver_config VALUES (" . $config["v_id"] . ", $hn_id, '$field', '$value')";
81
								"', '" . $config["OSTEMPLATE"] . "')";
-
 
82
							$res = $db->query($sql);
-
 
83
							$dist_id = $res->lastinsertID();
-
 
84
						}
90
						}
85
						$sql = "SELECT * FROM vservers WHERE v_id=" . $config["v_id"] . " AND hn_id=$hn_id";
-
 
86
						$res = $db->query($sql);
91
						$res = $db->query($sql);
87
						if (!PEAR::isError($res))
92
						if (PEAR::isError($res))
88
						{
-
 
89
							if (!$res->numRows())
-
 
90
							{
-
 
91
								$sql = "INSERT INTO vservers (v_id, v_name, v_dist, hn_id) VALUES (" . $config["v_id"] .
-
 
92
									", '" . $config["HOSTNAME"] . "', $dist_id, $hn_id)";
-
 
93
								$res = $db->query($sql);
-
 
94
								if (PEAR::isError($res))
-
 
95
								{
-
 
96
									echo $res->getUserInfo();
-
 
97
								}
-
 
98
							}
-
 
99
						}
-
 
100
						foreach ($conf as $field => $value)
-
 
101
						{
93
						{
102
							$sql = "SELECT * FROM vserver_config WHERE vc_name='$field' AND v_id=" . $config["v_id"] .
-
 
103
								" AND hn_id=$hn_id";
-
 
104
							$res = $db->query($sql);
-
 
105
							if (!PEAR::isError($res))
-
 
106
							{
-
 
107
								if ($res->numRows())
-
 
108
								{
-
 
109
									$sql = "UPDATE vserver_config SET vc_value='$value' WHERE vc_name='$field' AND v_id=" .
-
 
110
										$config["v_id"] . " AND hn_id=$hn_id";
-
 
111
								}
-
 
112
								else
-
 
113
								{
-
 
114
									$sql = "INSERT INTO vserver_config VALUES (" . $config["v_id"] . ", $hn_id, '$field', '$value')";
-
 
115
								}
-
 
116
								$res = $db->query($sql);
-
 
117
								if (PEAR::isError($res))
-
 
118
								{
-
 
119
									echo $res->getUserInfo();
-
 
120
								}
-
 
121
							}
-
 
122
							else
-
 
123
							{
-
 
124
								echo $res->getUserInfo();
94
							echo $res->getUserInfo();
125
							}
-
 
126
						}
95
						}
127
					}
96
					}
128
					else
97
					else
129
					{
98
					{
130
						echo $res->getUserInfo();
99
						echo $res->getUserInfo();
131
					}
100
					}
132
				}
101
				}
133
			}
102
			}
-
 
103
			else
-
 
104
			{
-
 
105
				echo $res->getUserInfo();
-
 
106
			}
134
		}
107
		}
135
	}*/
108
	}
136
?>
109
?>