Revision 101 | Revision 111 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php//$Id: load.php 109 2008-05-09 22:19:52Z lars $/*** @package openvz_admin* @author Lars Tiefland <ltiefland@gmail.com>**/require("include/common.php");$hns=HN::getHNs();unset($hns[-1]);foreach($hns as $hn_id=>$hn_name){$cmd="ssh root@$hn_name ls /etc/vz/conf/*.conf";unset($out);exec($cmd, $out, $ret);$files=$out;foreach($files as $conf){$conf=basename($conf);unset($out);$cmd="scp root@$hn_name:/etc/vz/conf/*.conf cfgs/$hn_id";exec($cmd, $out, $ret);$cont_f=file("cfgs/$hn_id/$conf");$cont_f[]="v_id=\"".substr($conf,0,strpos($conf,'.'))."\"";$cont[]=$cont_f;}foreach($cont as $conf){foreach($conf as $value){if($value){$value=rtrim($value);if($value[0]==" " || $value[0]=="#"){continue;}$cfg_v=explode("=",$value);$cfg_val[$cfg_v[0]]=trim($cfg_v[1],'"');}else{contine;}}$cfgs[]=$cfg_val;}$i=0;foreach($cfgs as $conf){$sql="SELECT * FROM distributions WHERE dist_name='".$conf["DISTRIBUTION"]."'";$res=$db->query($sql);if(!PEAR::isError($res)){if($res->numRows()){$row=$res->fetchRow();$dist_id=$row["dist_id"];}else{$sql="INSERT INTO distributions (dist_name, dist_template) VALUES('".$conf["DISTRIBUTION"]."', '".$conf["OSTEMPLATE"]."')";$res=$db->query($sql);$dist_id=$res->lastinsertID();}$sql="SELECT * FROM vservers WHERE v_id=".$conf["v_id"]." AND hn_id=$hn_id";$res=$db->query($sql);if(!PEAR::isError($res)){if(!$res->numRows()){$sql="INSERT INTO vservers (v_id, v_name, v_dist, hn_id) VALUES (".$conf["v_id"].", '".$conf["HOSTNAME"]."', $dist_id, $hn_id)";$res=$db->query($sql);if(PEAR::isError($res)){echo $res->getUserInfo();}}}}else{echo $res->getUserInfo();}foreach($conf as $field => $value){$sql="SELECT * FROM vserver_config WHERE vc_name='$field' AND v_id=".$conf["v_id"]." AND hn_id=$hn_id";$res=$db->query($sql);if(!PEAR::isError($res)){if($res->numRows()){$sql="UPDATE vserver_config SET vc_value='$value' WHERE vc_name='$field' AND v_id=".$conf["v_id"]." AND hn_id=$hn_id";}else{$sql="INSERT INTO vserver_config VALUES (".$conf["v_id"].", $hn_id, '$field', '$value')";}$res=$db->query($sql);if(PEAR::isError($res)){echo $res->getUserInfo();}}else{echo $res->getUserInfo();}}$i++;}}?>