¿Hacer un BackUp? ... ¡Pero si es muy fácil!

Instalación, actualizaciones, aplicación de mods... Todo lo que necesitas saber sobre los Foros phpBB para gestionarlos en tu sitio web.

Moderadores: fabriciano, randy

¿Hacer un BackUp? ... ¡Pero si es muy fácil!

Notapor Inside PHP » 16-03-2005 00:11

¿Hacer un BackUp? ... ¡Pero si es muy fácil!

El backup, dump o copia de respaldo de una base de datos puede hacerse a través de phpMyAdmin, del Admin del foro, de mySQL, etc... pero sea cual fuere el medio que se utilice, hay que configurar parámetros.
Para facilitar la cosa y evitar -en una tarea repetitiva como es un backup- tener que configurar parámetros cada vez, he creado este par de scripts complementarios que son el colmo de la simplificación: Dump y Download la Base de Datos - Restore la Base de Datos que, con un simple click son capaces de hacer lo que su propio nombre indica.


Su preparación es sencilla:

1.- Configurar en ambos scripts las cuatro variables:

$db_server = "la dirección de base de datos: mysql.webcindario.com o localhost o...";
$db_name = "el nombre de la base de datos";
$db_username = "el usuario";
$db_password = "el password";

2.- Crear en el server una carpeta con privilegios de escritura.
3.- Subir a esa carpeta ambos scripts.


Su funcionamiento es simple:

1.- Dump y Download la Base de Datos

- Cada vez que se lanza el script, se crea el Dump de la Base de Datos completa.
- El Dump se crea comprimido si el servidor tiene capacidad para ello.
- El Dump se crea con el nombre de la base de datos y extensión '.gz' o '.sql' según tenga el server o no, capacidad de compresión, respectivamente.
- El Dump creado se salva en la misma carpeta en que está el script.
- El Dump puede descargarse del server al ordenador desde la misma ventana del navegador.
- Cuando se lanza el script, no se obtiene el resultado en la ventana del navegador hasta que el dump finaliza. Eso significa que con una gran base de datos sin comprimir de 1000 Mb (1 Gb), por ejemplo, el resultado tardará en aparecer tres minutos aprox., dependiendo de la velocidad del server.
- Cuando se lanza el script, no cerrar ni hacer nada con esa ventana del navegador, hasta que el script concluya y muestre el resultado.

2.- Restore la Base de Datos

- Cada vez que se lanza el script, se borra la estructura de la base de datos y se restituye el contenido del dump que, con nombre igual al de la base de datos y extensión '.gz' o '.sql' según tenga el server o no, capacidad de compresión, respectivamente, está en la misma carpeta que el script.
- Cuando se lanza el script, no se obtiene el resultado en la ventana del navegador hasta que el restore finaliza.
- Cuando se lanza el script, no cerrar ni hacer nada con esa ventana del navegador, hasta que el script concluya y muestre el resultado.


· Los scripts procesan query a query, lo que significa que da igual el tamaño de la base de datos a dumpear o restorear... que puede ser de gigas.
· Los scripts dumpean o restorean la base de datos sin importar si ésta pertenece a un foro y qué tipo de foro, a un portal y qué tipo de portal, etc... en síntesis, los scripts son universales.
· Se podría hacer más bonito y más complicado pero no merece la pena, de lo que se trata es de hacer el backup o restore de una base de datos en un simple click, no de hacer monadas.
· Distribuyo los scripts bajo los términos de la Licencia GNU de Documentación Libre (GFDL, GNU Free Documentation License).


Puede verse Dump y Download la Base de Datos en acción aquí mismo, haciendo un backup de este mismo foro: http://insidephp.webcindario.com/BackUp_db/dump_db.php
(Por zarones obvias, los passwords de los usuarios son ofuscados en el download)
(Por zarones obvias, los mensajes privados son removidos del download)


Naturalmente, si se hace pública la dirección de los scripts se está haciendo pública la base de datos: utilizar nombres imaginativos para la carpeta que los contiene y para ellos mismos, no es mala idea.

- Con este par de scripts es posible migrar un foro de un server a otro, en cuestión de minutos: Dump y Download en el origen, y Restore en el destino... haciendo lo mismo con el contenido del FTP
- Este par de scripts posibilita upgradear o updatear un foro de forma segura: Dump, salvar el FTP, aplicar el update... si no sale bién o no gusta el resultado, se vuelve al estado anterior con restore el FTP y Restore... y aquí no ha pasado nada.
- Con este par de scrits hacer el clon de un foro en el ordenador de casa para probar allí cosas antes de aplicarlas, es trivial: Dump, Download, meterlo en una carpeta del XP y Restore... sencillo como la vida misma.


Espero que les sea útil,
Un saludo.


Dump y Download la Base de Datos tiene este aspecto:

Imagen


Restore la Base de Datos tiene este aspecto:

Imagen


Download los scripts: dump_y_restore_db.zip
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45



Notapor Lucas Marciano » 16-03-2005 00:37

Buenas tardes, Inside PHP,

Discúlpa la molestia que esto te ocasiona, pero el motivo de este mensaje, es pára solicitar de tu autorización para copiar este apartado como tutorial gratuito en mi foro, por que me parece muy importante y básico para quienes desean aprender a efectuar un backup de la base de datos de los foros phpBB, y más, por que la herramienta que nos brindas, es excelente.


Atento a tu respuesta recibe un cordial saludo.
"El primer paso de la ignorancia es presumir de saber"

Baltasar Gracián
Lucas Marciano
Veterano
 
Mensajes: 167
Registrado: 30-12-2004 05:13
Ubicación: México

Notapor fabriciano » 16-03-2005 00:49

Muchas gracias por tu aportación Inside PHP. Me he tomado la libertad de asignarle a este tema la categoría de Anuncio. ¿Te parece bien?

Un saludo.
Fabriciano González González
Webmaster de Batiburrillo.net
Avatar de Usuario
fabriciano
Administrador
 
Mensajes: 10378
Registrado: 04-09-2001 16:34
Ubicación: Lugo

Notapor Inside PHP » 16-03-2005 01:00

Lucas Marciano, fabriciano, de lo que se trata es de difundirlo... con tal que sea útil a algún suicida de esos que jamás ha hecho un BackUp de su foro, perfecto.

Gracias.
Un saludo.
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45

Notapor Lucas Marciano » 16-03-2005 01:16

De mi parte, así será, inside PHP.

Gracias.
"El primer paso de la ignorancia es presumir de saber"

Baltasar Gracián
Lucas Marciano
Veterano
 
Mensajes: 167
Registrado: 30-12-2004 05:13
Ubicación: México

Notapor Inside PHP » 16-03-2005 01:22

Naturalmente, el Dump resultante de "dump_db.php", esté o no comprimido, es estándar SQL... susceptible de ser procesado por phpMyAdmin, mySQL, el Admin del foro o portal, etc.

De igual forma, "restore_db.php" es capaz de restorear cualquier dump estándar SQL.

:)
Un saludo.
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45

Notapor Inside PHP » 16-03-2005 21:24

Un par de cosillas se podrían implementar en los scripts actuales...

- Una sería poder borrar el file del Dump para liberar espacio y/o evitar que cayera en malas manos...
- Otra sería proteger los scrips con Realm, del estilo de esto: http://insidephp.webcindario.com/BackUp ... ore_db.php
- Otra sería poder enviar el Dump por mail a una dirección de correo...
- Otra sería poder enviar el Dump por FTP a un lugar concreto...

Lo que no sé es si merece la pena.

Un saludo
Inside PHP


(Soporte y download de nuevas versiones, en: http://insidephp.webcindario.com )
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45

Notapor Inside PHP » 17-03-2005 08:25

Hola,

He añadido la protección por password de los scripts, lo que significa que su acceso es seguro.

Con ello este tema queda cerrado.

En http://insidephp.sytes.net/ están las dos versiones y allí daré soporte por algún tiempo... después cerraré ese foro o simplemente lo dejaré morir de inanición.

Un saludo
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45

Notapor wmtr » 23-03-2005 10:20

Antes de poner esta nota he ejecutado los scripts de la ultima version con password y todo me dan este error al menos en mi base de datos, la linea de error puede variar segun la ocacion pero siempre me da el mismo error.....no se si esto lo han probado con base de datos pequeñas pero estoy intentandolo con una base de datos de 384 MB de un foro phpbb

Dump y Download la Base de Datos

- Base de Datos: 'xxxxxxx' en 'localhost'.
- Ya que está disponible Zlib, salvaré la Base de Datos comprimida, como 'back_up.gz'

- He establecido conexion con la Base de datos.

Fatal error: Maximum execution time of 30 seconds exceeded in /home/httpd/vhosts/xxxxxxxxx.com/httpdocs/back/dump_db.php on line 240

Nota xxxxxxxxx es la direccion de mi sitio que he camuflajeado con xxxxxx por seguridad

si pueden aportarme alguna solucion seria de gran importancia......

disculpen la lata gracias.

salu2 :oops:
Avatar de Usuario
wmtr
Junior
 
Mensajes: 10
Registrado: 27-09-2004 05:44

Notapor Inside PHP » 23-03-2005 11:27

En http://insidephp.webcindario.com/files/index.php acabo de meter la 1.1.2, pruébala y reporta resultados, por favor.
Inside PHP
Junior
 
Mensajes: 14
Registrado: 05-03-2005 21:45

Siguiente

Volver a Foros phpBB (Versión 2)