Es por ese motivo buscando en la red he logrado encontrar un Script PHP que automatiza todo el proceso, es decir, que puedes hacer el respaldo de tu PC con solamente un clic.
A continuación describo textualmente el funcionamiento del mismo, tomado de la página fuente.
1.- Su funcionamiento es simple:
- 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.
- 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).
MI CODIGO:
Sin embargo mi necesidad es algo particular ya que tengo habilitado que se haga el respaldo de mi base de datos sin necesidad de apretar un botón, sino que lo haga de manera automática pero cargando una página web(esto es mi necesidad, la suya puede ser otra :)
He aquí el código que implementé:
$sql="SELECT MAX(fecha_usado) AS fecha_de_ayer FROM contacto;";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
$dia_respaldado=$row["fecha_de_ayer"];
$dia_respaldado=strftime("%Y-%m-%d",strtotime($dia_respaldado));
$FileName=$db."-".$dia_respaldado.".sql";
$backupRoute="/var/www/respaldo_db/";
$command = "mysqldump --opt --host='$localhost' --user='$user' --pass='$passwd' '$db' > ".$backupRoute.$FileName;
exec($command);
25 comentarios:
Gracias por compartir el Script.
Me funcionó muy bien.
Había estado intentando por un rato con ese script, pero había algo mal en mi sintaxis en la línea del $comand.
Gracias de nuevo.
No hay problema, estamos para ayudarnos, gracias por dejar tu comentario.
Saludos y que Dios te bendiga.
hola soy nuevo en servidores linux espero me sea de ayuda tu pagina gracias. saludos desde mexico
Esta muy bueno el script, muchas gracias!!!!
Este codigo puedo usarlo en windows??
gracias pana lo probe en linux y funciono perfectamente asiendo un par de modificaciones se convierte en multiplataforma
buenos dias, descargue el script para realizar el respaldo de los datos pero soy muy nuevo en esto de php con mysql y no tengo idea de como hacerlo funcionar. sera que me explica
Eres una maquina tio, me has sido de muchisima ayuda!
A la orden amigo.
Saludos
El link a phpmyadmin esta roto.
Comento en modo de aviso.
Saludos Muy buena la web estoy probando la libreria de dumpdb
Listo ya está bien el link. corregido.
Saludos
Ummm, Me funciona a medias, me hace el respaldo pero cuando quiero restaurar la base de datos me da error y no se crea ninguna tabla! que estaré haciendo mal.
oye esta bueno el codigo pero deberias de explicarlo un poco y asi exclaser dudas
Hola muy bueno el codigo. Quisiera que al ingresar a la pagina PHP no pida usuario ni contraseña. Podrias indicarme que tengo que modificar en el codigo para ello.
Muchas Gracias !!!
hola me llamo yessica soy estudiante de ing en informatica y quisiera saber como para respaldar y restaurar mi bd y tengo q tener un boton q sea visible en mi sistema para q el usuario lo pueda hacer
Estimado muy buen aporte pero tengo un problema con el archivo restore_db.php al intentar restaurar la BD, me da el siguiente error:
- Error en statement: CREATE TABLE `aestado` (
- Query: CREATE TABLE `aestado` (
- MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
No entiendo el porque, ya que al ejecutarlo directamente en mysql no presenta ningun error.
Te agradeceria bastanate si me pudieras ayudar. De ante mano muchas gracias.
buen día, se que mi pregunta no tiene nada que ver con el tema tratado.
será que sabrá cómo pasar mi sistema web a un cd auto run, es decir donde el usuario puede insertar el cd y automáticamente los archivos se guarden en la carpeta específica
Hola pues, no tiene nada que ver el sistema Web con un sistema AutoRun, estos sistemas son software que no necesitan de un servicio como Apache o un servidor web para correr, y todas las librerías te caben en un CD, mientras que un sistema Web creado con lenguaje de probramación PHP, ASP, Perl (o cualquier otro) necesita de todas las bondades del propio servidor, así como también de un gestor de base de datos (en su caso). Por lo que no es posible guardarlo en un CD.
Espero haber respondido a tu pregunta, cualquier cosa, quedo a tus servicios.
Saludos fraternos
Gracias por compartir el codigo! ha funcionado perfectamente! Saludos
a la orden Roxana! Saludos
buenas hermano agradecido por su post. pero tengo un error el el archivo dump_db.php me genera esto:
Base de Datos: 'inventario' en 'localhost'.
- Ya que está disponible Zlib, salvaré la Base de Datos comprimida, como 'inventario.sql.gz'
- He establecido conexion con la Base de datos.
Deprecated: Function mysql_list_tables() is deprecated in /opt/lampp/htdocs/p/dump_db.php on line 372
Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /opt/lampp/htdocs/p/dump_db.php on line 215
Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /opt/lampp/htdocs/p/dump_db.php on line 215
Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /opt/lampp/htdocs/p/dump_db.php on line 215
- He salvado las 17 tablas en 0 minutos y 1 segundos.
- El Dump de la Base de Datos está completo.
- He salvado la Base de Datos en: /p/inventario.sql.gz
y me crea el respaldo pero cuando pero cuando lo voy a importar en el phpmyadmin me edad error y cuando uso el otro archivo el de restore. dice que no puede eliminar una de mis tabla que estoy haciendo mal =(
Hola a todos a mi me sirvió el código pero tenia 4 funciones desactualizadas, las e actualizado y subido para que ustedes lo puedan utilizar ;) saludos
https://mega.co.nz/#!xhBn2CjI!TjUpdL3vPoRcwUSPchN5dWLki3e9wMMUYOh6KV6Cen8
mil gracias hermano estaba desde hace rato averiguando como hacer el respaldo de la DB y nada y en tu post todo salio bien
hola podrian subir de nuev el archivo
el link ya no descarga nada y de verdad lo necesito!!! saludos!!
Ese link de Mega esta Cifrado, se necesita el codigo de cifrado para poder descargar.. Me los podrias Facilitar amigo..??
Publicar un comentario