Subversion-Projekte lars-tiefland.openvz_admin

Revision

Revision 68 | Revision 101 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php
        //$Id: load.php 75 2007-12-12 10:55:22Z lars $
        require("include/common.php");
        $cmd="ssh root@mainframe 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@mainframe:/etc/vz/conf/???.conf cfgs";
                exec($cmd, $out, $ret);
                $cont_f=file("cfgs/$conf");
                $cont_f[]="v_id=\"".substr($conf,0,3)."\"";
                $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"];
                        $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, 1)";
                                        $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"];
                        $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"];
                                }
                                else
                                {
                                        $sql="INSERT INTO vserver_config VALUES (".$conf["v_id"].", '$field', '$value')";
                                }
                                $res=$db->query($sql);
                                if(PEAR::isError($res))
                                {
                                        echo $res->getUserInfo();
                                }
                        }
                        else
                        {
                                echo $res->getUserInfo();
                        }

                }
                $i++;
        }
?>