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.
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>
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.
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])) {
Código PHP:
if (!(is_string ($fila[$columna]))) {
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.