Subversion-Projekte lars-tiefland.openvz_admin

Revision

Revision 120 | Revision 122 | 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 121 2008-05-22 13:43:24Z lars $
109 lars 3
	/**
4
	 * 	@package	openvz_admin
5
	 * 	@author		Lars Tiefland <ltiefland@gmail.com>
6
	 **/
113 lars 7
	require ("include/common.php");
8
	$hns = HN::getHNs();
100 lars 9
	unset($hns[-1]);
113 lars 10
	#	$hns[3]="gate.dynalias.net";
11
	foreach ($hns as $hn_id => $hn_name)
3 lars 12
	{
114 lars 13
		$configs=load_configs($hn_id,$hn_name);
14
		foreach($configs as $conf_id => $config)
15
		{
120 lars 16
			$cfg=read_config($hn_id, $hn_name,$config);
116 lars 17
			var_dump($cfg);
114 lars 18
		}
19
	}
20
 
118 lars 21
	function load_configs($hn_id,$hn_name)
114 lars 22
	{
115 lars 23
		unset($out);
113 lars 24
		$cmd = "ssh root@$hn_name ls /etc/vz/conf/*.conf";
61 lars 25
		exec($cmd, $out, $ret);
114 lars 26
		return $out;
27
	}
28
 
121 lars 29
	function read_config($hn_id, $hn_name, $config)
114 lars 30
	{
121 lars 31
			$conf = basename($config);
116 lars 32
			$cmd = "scp root@$hn_name:/etc/vz/conf/$conf cfgs/$hn_id";
33
			exec($cmd, $out, $ret);
34
			$cont = file("cfgs/$hn_id/$conf");
35
			$cont[] = "v_id=\"" . substr($conf, 0, strpos($conf, '.')) . "\"";
36
			return $cont;
114 lars 37
	}
38
/*		foreach ($files as $conf)
3 lars 39
		{
112 lars 40
			unset($cont);
100 lars 41
			unset($out);
113 lars 42
			foreach ($cont as $conf)
3 lars 43
			{
113 lars 44
				unset($cfgs);
45
				foreach ($conf as $value)
3 lars 46
				{
113 lars 47
					if ($value)
3 lars 48
					{
113 lars 49
						$value = rtrim($value);
50
						if ($value)
111 lars 51
						{
113 lars 52
							if ($value[0] == " " || $value[0] == "#")
53
							{
54
								continue;
55
							}
56
							$cfg_v = explode("=", $value);
57
							$cfg_val[$cfg_v[0]] = trim($cfg_v[1], '"');
111 lars 58
						}
3 lars 59
					}
113 lars 60
					else
100 lars 61
					{
113 lars 62
						continue;
100 lars 63
					}
3 lars 64
				}
113 lars 65
				$cfgs[] = $cfg_val;
66
				foreach ($cfgs as $config)
100 lars 67
				{
113 lars 68
					$sql = "SELECT * FROM distributions WHERE dist_name='" . $config["DISTRIBUTION"] .
69
						"'";
70
					$res = $db->query($sql);
71
					if (!PEAR::isError($res))
100 lars 72
					{
113 lars 73
						if ($res->numRows())
112 lars 74
						{
113 lars 75
							$row = $res->fetchRow();
76
							$dist_id = $row["dist_id"];
112 lars 77
						}
78
						else
79
						{
113 lars 80
							$sql = "INSERT INTO distributions (dist_name, dist_template) VALUES('" . $config["DISTRIBUTION"] .
81
								"', '" . $config["OSTEMPLATE"] . "')";
82
							$res = $db->query($sql);
83
							$dist_id = $res->lastinsertID();
112 lars 84
						}
113 lars 85
						$sql = "SELECT * FROM vservers WHERE v_id=" . $config["v_id"] . " AND hn_id=$hn_id";
86
						$res = $db->query($sql);
87
						if (!PEAR::isError($res))
112 lars 88
						{
113 lars 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
							}
112 lars 99
						}
113 lars 100
						foreach ($conf as $field => $value)
101
						{
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();
125
							}
126
						}
100 lars 127
					}
128
					else
129
					{
130
						echo $res->getUserInfo();
131
					}
132
				}
133
			}
3 lars 134
		}
114 lars 135
	}*/
3 lars 136
?>