Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2005, 03:53
Shockly
 
Fecha de Ingreso: agosto-2005
Mensajes: 109
Antigüedad: 18 años, 7 meses
Puntos: 0
Hala,

Lo configuras, lo subes al server junto con la db y lo lanzas...

Un saludo


'restore_db.php':
Código PHP:
<?php
/*
        http://localhost/restore_db.php
*/
//------------------------------------------------------------------------------------------
//  Definiciones


    //  Conexión con la Base de Datos.
    
$db_server                  "localhost"
    
$db_name                    "xxxxxx";
    
$db_username                "xxxxxx"
    
$db_password                "xxxxxx"


    
//  Nombre del archivo sql de la db.
    
$filename                   "backupdb";


//------------------------------------------------------------------------------------------
//  No tocar
    
error_reportingE_ALL & ~E_NOTICE );
    
define'Str_VERS'"1.0.6 del 02/12/2005" );
//------------------------------------------------------------------------------------------
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
 <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Restore la Base de Datos</title>
    <!-- no cache headers -->
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="no-cache">
    <meta http-equiv="Expires" content="-1">
    <meta http-equiv="Cache-Control" content="no-store">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Cache-Control" content="must-revalidate">
    <!-- end no cache headers --> 
 </HEAD>
<BODY 
    bgcolor="#D5D5D5" 
    text="#000000" 
    id="all" 
    leftmargin="25" 
    topmargin="25" 
    marginwidth="25" 
    marginheight="25" 
    link="#000020" 
    vlink="#000020" 
    alink="#000020">
    <center><h1>Restore la Base de Datos</h1></center><br>
    <strong>
<?php
    
@set_time_limit);

    echo( 
"- Base de Datos: '$db_name' en '$db_server'.<br>" );
    
$error false;

    
$hay_Zlib false;
    echo( 
"- Usaré el BackUp de la Base de Datos: '$filename'<br>" );

    if( !
$file = @fopen$filename,"r" ) ) { 
        echo (
"<br>- Lo siento, no encuentro o no puedo abrir: '$filename'.<br>");
        
$error true;
    }
    else { 
        if( 
fseek($file0SEEK_END)==)
                 
$file_offset ftell($file);
        else { 
           echo (
"<br>- Lo siento, no puedo obtener las dimensiones de '$filename'.<br>");
           
$error true;
        }
           
fclose$file );
    }


    if (!
$error) { 
        
$dbconnection = @mysql_connect$db_server$db_username$db_password ); 
        if (
$dbconnection
            
$db mysql_select_db$db_name );
        if ( !
$dbconnection || !$db ) { 
            echo( 
"<br>" );
            echo( 
"- Lo siento, la conexion con la Base de datos ha fallado: ".mysql_error()."<br>" );
            
$error true;
        }
        else {
            echo( 
"<br>" );
            echo( 
"- He establecido conexion con la Base de datos.<br>" );
        }
    }

    if (!
$error) { 
        
$result mysql_list_tables$db_name );
            if (!
$result) {
                    print 
"<br>- Error, no puedo obtener la lista de las tablas.<br>";
                    print 
'<br>- MySQL Error: ' mysql_error(). '<br>';
                    
$error true;
            }
            else {
                    
// $count es el número de tablas en la base de datos
                    
$count mysql_num_rows($result);
                    if( !
$count ) {
                            echo 
"- No ha sido necesario borrar la estructura de la Base de datos, estaba vacía.<br>";
                    }
                    else {
                            while (
$row mysql_fetch_row($result)) {
                                    
$deleteIt mysql_query("DROP TABLE $row[0]");
                                    if( !
$deleteIt ) {
                                    echo( 
"<br>" );
                                            print 
"- Lo siento, error al borrar la tabla $row[0].<br>";
                                            
$error true;
                                            break;
                                    }
                            }
                            echo 
"- He borrado la estructura de la Base de Datos.<br>";
                    }
                    
mysql_free_result($result);
            }
    }

    if( !
$error ) {     
            
$t_start time();
        echo( 
"<br>" );
        
            
$restorecommand "mysql -u$db_username -p$db_password $db_name < $filename";
            
// Perform restore
            
passthru"$restorecommand"$error );
            if( 
$error ) {
                echo( 
"<br>- Problema en passthru. Error = $error<br>" );
                
$error true;
            }
    
        echo( 
"<pre>" );
        echo( 
"- Base de Datos procesada................... $file_offset bytes<br>" );
        echo( 
"</pre>" );
            
$t_now time();
            
$t_delta $t_now $t_start;
            if( !
$t_delta )
                
$t_delta 1;
            
$t_delta floor(($t_delta-(floor($t_delta/3600)*3600))/60)." minutos y "
            
.floor($t_delta-(floor($t_delta/60))*60)." segundos.";
            echo( 
"- He completado el Restore de la Base de Datos en $t_delta<br>" );
    }

    if ( 
$dbconnection )
        
mysql_close();

    echo( 
"</strong><br><br><hr><center><small>" );
    
setlocaleLC_TIME,"spanish" );
    echo 
strftime"%A %d %B %Y&nbsp;-&nbsp;%H:%M:%S"time() );
    echo( 
"<br>vers. " Str_VERS );
    echo( 
"</small></center><br>" );
    echo( 
"</BODY>" );
    echo( 
"</HTML>" );

//------------------------------------------------------------------------------------------
//  END
?>