Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2008, 11:24
Avatar de manuweb
manuweb
 
Fecha de Ingreso: julio-2002
Mensajes: 75
Antigüedad: 21 años, 10 meses
Puntos: 10
[Aporte] mwbackup. Guardar y recuperar datos con barra de progreso

Hola a tod@s.

Desde hace tiempo las copias de seguridad de mis aplicaciones me daban un verdadero dolor de cabeza. Todos los sistema que he probado daban algunos problemas con tablas muy grandes.

Pues bien, he desarrollado mi propio script para hacer backup y restore con barra de progreso:


mwBackup en funcionamiento

Podeis descargarlo desde mi web: AQUI, donde he puesto un pequeño manual de uso y unos screenshots de los scripts.

Lo he probado en varios host y funciona 100%, incluso restaura archivos sql de más de 8 Mb.

Otra de las caracteristicas es que puede ser llamado como ventana o como frame.


mwRestore en funcionamiento

Espero que mi creación os guste y os sea de utilidad.

Os agradezco que cualquier sugerencia al script para su mejora me lo comenteis, bien a este mail: [email protected] o en este tema del foro.

Un saludo,

manuweb.

-------------------------------------------------------------------------------

Manual mwBackup

Instalación.

Descarge la última versión de mwBacKup AQUI y descomprima el archivo. Suba a su servidor la carpeta mwBacup, así como las subcarpetas.

Edite el archivo config.php que se encuentra en la subcarpeta include para ajustar los siguientes parametros:

$host = Host para la conexion a MySQL.
$usuario = Usuario para la conexion a MySQL.
$passwd = Password para la conexion a MySQL.
$bd = Base de datos a respaldar.

Ya puede empezar a usar mwBackup.


Uso.

mwBackup consta de dos script:
  • mwBackup.php: Realiza copias de la base de datos
  • mwRestore.php: Restaura las copias de la base de datos.
Ambos pueden ser llamados como una ventana o como un frame.

Ejemplo de llamada a mwBackup en modo ventana:


Código PHP:
<HTML>
<
HEAD>
<
TITLE>Abre Backup en una ventana</TITLE>
</
HEAD
<
BODY
<
SCRIPT LANGUAGE="JavaScript"
window.open("mwBackup/mwBackup.php","_blank","width=400,height=200,top=100,
left=200, scrollbars=no location=no"
); 
</SCRIPT> 
</BODY>
</HTML> 

Esto mostraría la siguiente ventana:



Ejemplo de llamada a mwRestore en un frame:

Código PHP:
<HTML>
<
HEAD>
 <
TITLE>Abre Restore en un frame</TITLE>
</
HEAD
 
<
BODY
 
<
IFRAME src="mwBackup\mwRestore.php" width="600" height="300"
          
scrolling="auto" frameborder="0" name="restore">
</
IFRAME>
</
BODY>
</
HTML
Esto mostraría dentro de la página y en un frame:




Otros parametros de configuración.

En el archivo config.php hay otros parametros configurables:
  • $nombre= nombre del archivo que generará mwBackup.
  • $idioma= archivo de idioma para los mensajes.
  • $descarga= true o false si el archivo generado por mwBackup se ofrece para descargar una vez generado.
  • $path= ruta relativa al script donde se deposita el archivo generado por mwBackup, si no se cambia es mwBackup/copias/.
  • $drop= determina si en el archivo creado por mwBackup se incluye el drop table.
  • $parent= página a la que accede mwBackup.php y mwRestore una vez han terminado su trabajo. Relativo al script y por defecto ../index.php.
NOTA: detectado un bug en la versión 1.0.
Cuando un campo de una tabla es vchar y el contenido del mismo són digitos puede haber un error en la restauración. Por ejemplo, un campo CCC (cuenta bancaria de 20 dígitos) se almacena en el fichero backup sin comillas y al restaurar se ignoran los ceros por la izquierda y da problemas con la interpretación de números de 20 dígitos.

Hasta que actualize los archivos se puede corregir de la siguiente forma:

en el fichero mwBackup.php, en la linea 419 dice:
Código PHP:
       if (is_numeric ($fila[$columna])) { 
y debe poner:
Código PHP:
     if (!(is_string ($fila[$columna]))) { 
Atención:Ya está disponible para la descarga la versión 1.2 del script que a demás de corregir bugs anteriores incluye idioma para los mensajes.

Si alguien quiere traducir a otros idiomas puede enviarme el archivo lang_idioma.php a este mail: [email protected] y lo incluiré en el archivo de descarga.

Última edición por manuweb; 06/10/2008 a las 03:21 Razón: Nueva versión