public function testRespaldarBD()
 {
     $numero_respaldos_original = count(glob(POS_PATH_TO_SERVER_ROOT . "/../static_content/db_backups/{*}", GLOB_BRACE));
     $this->assertNull(InstanciasController::Respaldar_Instancias(array(IID)));
     $numero_respaldos_modificado = count(glob(POS_PATH_TO_SERVER_ROOT . "/../static_content/db_backups/{*}", GLOB_BRACE));
     $this->assertGreaterThan($numero_respaldos_original, $numero_respaldos_modificado);
 }
 public function testRespaldarBD()
 {
     echo " >> Intentando respaldar la base de datos\n";
     if (is_null(InstanciasController::Respaldar_Instancias(json_encode(array(self::$instance_id))))) {
         echo "\tRespaldo exitoso\n";
     } else {
         echo "\tSe ha producido un error al realizar el respaldo\n";
         $this->assertTrue(false);
     }
 }
示例#3
0
set_time_limit(0);
$ids = json_decode($_GET["instance_ids"]);
$ids = $ids->instance_ids;
$prefix = time() . rand();
$files = array();
$file_id = array();
for ($i = 0; $i < sizeof($ids); $i++) {
    //validar que existan
    $r = InstanciasController::BuscarPorId($ids[$i]);
    if (is_null($r)) {
        $page->addComponent("La instancia " . $ids[$i] . " no existe");
        $page->render();
        exit;
    }
}
$result = InstanciasController::Respaldar_Instancias($ids);
//Respaldar_Instancias recibe como params un array
if (strlen($result) > 0) {
    die("<html><head><meta HTTP-EQUIV='REFRESH' content='3; url=instancias.bd.php'><title>Error al descargar, perimisos</title></head><body><h1><center>" . $result . "</center></h1></body></html>");
}
$f = new zipfile();
for ($i = 0; $i < sizeof($ids); $i++) {
    //$f->add_file(file_get_contents($files[$i]), $file_id[$i] . ".sql");
    $final_path = str_replace("server", "static_content/db_backups", POS_PATH_TO_SERVER_ROOT);
    $dbs_instance = trim(shell_exec("ls -lat -m1 " . $final_path . "| grep " . $ids[$i] . ".sql"));
    Logger::log("Respaldos encontrados: " . $dbs_instance);
    /*dbs_instance almacena una cadena con un listado donde se encuentran archivos que tengan la teminacion
    	con el id de la instancia y .sql, ademas de que la lista viene ordenada de mas reciente a antiguo
    	la lista seria como lo siguiente:
    	1353617611_pos_instance_82.sql 1353608687_pos_instance_82.sql 1353608206_pos_instance_82.sql 1353608191_pos_instance_82.sql
    	en found se coloca un array y en cada posicion el nombre de cada respaldo
示例#4
0
 /**
  *
  * Genera un scrip .sql en el servirdor de los id de instancia que reciba este metodo
  *
  * @param instance_ids json Lista de los id de las instancias a respaldar
  * @return status string Respuesta enviada del servidor
  * @return mensaje string Mensaje de respuesta del servidor
  * */
 public static function BdInstanciasRespaldarBd($instance_ids)
 {
     //var_dump($instance_ids);
     //$x = json_decode($instance_ids);
     $res = InstanciasController::Respaldar_Instancias($instance_ids);
     if (!is_null($res)) {
         return array("status" => "failure", "mensaje" => "{$res}");
     }
     return array("status" => "ok", "mensaje" => "Funcion vacia");
 }