Foros del Web » Programando para Internet » PHP »

Problema para realizar un script php teniendo el backup sql

Estas en el tema de Problema para realizar un script php teniendo el backup sql en el foro de PHP en Foros del Web. Hola q tal? espero alguien pueda ayudarme con este inconveniente. Tengo que hacer que mi sistema haga backup y restore de la base de datos ...
  #1 (permalink)  
Antiguo 21/05/2012, 08:31
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Exclamación Problema para realizar un script php teniendo el backup sql

Hola q tal? espero alguien pueda ayudarme con este inconveniente. Tengo que hacer que mi sistema haga backup y restore de la base de datos por si mismo sin usar phpmyadmin, el backup costo un poco pero al final funciona bien el problema se me da al momento intentar restaurarlo. Probé varios metodos de la web incluso de este foro pero hasta el momento ninguno me funciono. Si alguien sabe un método que me pueda resultar le agradecería mucho.
  #2 (permalink)  
Antiguo 21/05/2012, 09:18
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: Problema para realizar un script php teniendo el backup sql

En la sección de aportes se encuentra un muy buen ejemplo http://www.forosdelweb.com/f18/aport...-datos-832116/



Saludos
  #3 (permalink)  
Antiguo 24/05/2012, 07:46
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

la verdad no lo pude hacer que ninguno de los que esta en el foro funcione sino no hubiese preguntado aca, me parece q nadie pregunta lo que ya sabe seria tonto. Gracias de todos modos
  #4 (permalink)  
Antiguo 24/05/2012, 08:31
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Problema para realizar un script php teniendo el backup sql

Yo nacie en entre rios xD! por eso te ayudo xD! HAJAJa

Escuchame sobre que sistema operativo queres que funcione?
__________________
Mono programando!
twitter.com/eguimariano
  #5 (permalink)  
Antiguo 28/05/2012, 06:30
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

Que tal SirDuque?
Si? en que ciudad yo soy de Parana?. Volviendo al tema uso windows 7 creo que lo mejor seria empezar de cero con un script nuevo que me haga tanto backup como restore pero nose cual usar cual me recomendarias vos???? probe varios para hacer bakcup y la mayoria me creaba un archivo .sql vacio de 0kbts, pero lo del restore por ahora no me funciona. Si me podes aportar algo me seria muy util saludos
  #6 (permalink)  
Antiguo 29/05/2012, 16:48
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Problema para realizar un script php teniendo el backup sql

De Concordia, barrio Terminal xD!
Aca te dejo la solucion, vos lo usaras a tu criterio, espero que te sirva.
Las variables las pasaras por post o get como quieras.
Ahora para que pruebes solo por get pasas una accion, si no pones ningun get realiza el backup ( espero que se entienda ).

Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * SCRIPT: Back-UP MySql.
  4.  * Por SirDuque de Foros del Web
  5.  * Version : 1.0.1
  6.  * SO: Windows.
  7.  * */
  8.  $bat = "C:/script.bat";  //Donde guardamos el BAT?
  9.  $ejecutables = "C:/"; //Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
  10.  $accion = isset($_GET['accion'])?"restaura":"backup"; // Alternativas restaura|backup
  11.  $host = 'localhost'; // host
  12.  $user = 'root'; // usuario
  13.  $pass = ''; // contraseña
  14.  $db = "db1"; // base de datos a realizar el back-up
  15.  $destinoBU = "C:/backUp"; // BU = Back-Up // Destino donde se guardara el archivo.
  16.  $nombreBU = !isset($_GET['archivo'])?"backUp-".date("d-m_H-i").".sql":$_GET['archivo']; // Nombre del archivo
  17.  $password =($pass != '')?" -p".$pass." $db":$db; // modifica la funcion si el usuario lleva password en blanco.
  18.  $Comando = "$bat $ejecutables $accion $host $user $password $destinoBU/$nombreBU ";
  19.  if(!is_dir($destinoBU) && @!mkdir($destinoBU)){
  20. die("<samp><b>FATAL error:</b> no se puede acceder al destino.<br> Verificar permisos de escritura</samp>");
  21.  }
  22.  $resultado = exec($Comando);
  23.  
  24.  if(!$resultado){
  25.    echo "<samp>Se produjo un error al realizar el Back-Up: ".$nombreBU."</samp><br>\r\n";
  26.     die($Comando);
  27.  }else{
  28.      echo "<h1>Exito! estamos salvaguardados!</h1>Archivo $nombreBU\r\n";
  29.  }
  30.  ?>

Aca tenes el .BAT
Código C++:
Ver original
  1. @echo off
  2. cd "%1"
  3. IF "%~2"=="backup" mysqldump.exe -h%3 -u%4 %5 > %6
  4. IF "%~2"=="restaura" mysql.exe -h%3 -u%4 %5 < %6
  5. pause

Si llamas el archivo de esta manera:

http://localhost/archivo.php

Realizas el backup

si lo llamas de esta menera

http://localhost/archivo.php?archivo=NombreArchivo.sql

Restauras la base de datos.

Lo provee en Windows 7.

Yo uso wamp
mysql.exe y mysqldump.exe estan en c:/wamp/bin/mysql/mysql5.5.20/bin/

Pero los copie y los pege en C:/ y funcionan de 10 xD!.

Espero que te sirva XD! saludos!
__________________
Mono programando!
twitter.com/eguimariano
  #7 (permalink)  
Antiguo 01/06/2012, 05:20
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

Muchas gracias SirDuque lo voy a estar probando a ver q pasa saludos...
  #8 (permalink)  
Antiguo 01/06/2012, 06:05
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

SirDuque disculpa que te moleste de nuevo, me sale este error nose bien que puede ser revise comillas y eso pero no encuentro el error aca dejo el codigo

Cita:
<?php

*$bat = "C:\xampp\htdocs\inicios\back\script.bat"; *//Donde guardamos el BAT?
*$ejecutables = "C:\xampp\mysql\bin"; //Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
*$accion = isset($_GET['accion'])?"restaura":"backup"; // Alternativas restaura|backup
*$host = 'localhost'; // host
*$user = 'root'; // usuario
*$pass = ''; // contraseña
*$db = "inicios"; // base de datos a realizar el back-up
*$destinoBU = "C:\xampp\htdocs\sgu\back"; // BU = Back-Up // Destino donde se guardara el archivo.
*$nombreBU = !isset($_GET['archivo'])?"backUp-".date("d-m_H-i").".sql":$_GET['archivo']; // Nombre del archivo
*$password =($pass != '')?" -p".$pass." $db":$db; // modifica la funcion si el usuario lleva password en blanco.
*$Comando = "$bat $ejecutables $accion $host $user $password $destinoBU/$nombreBU ";
*if(!is_dir($destinoBU) && @!mkdir($destinoBU)){
die("<samp><b>FATAL error:</b> no se puede acceder al destino.<br> Verificar permisos de escritura</samp>");
*}
*$resultado = exec($Comando);
*
*if(!$resultado){
* *echo "<samp>Se produjo un error al realizar el Back-Up: ".$nombreBU."</samp><br>\r\n";
* * die($Comando);
*}else{
* * *echo "<h1>Exito! estamos salvaguardados!</h1>Archivo $nombreBU\r\n";
*}
*?>
  #9 (permalink)  
Antiguo 03/06/2012, 06:01
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Problema para realizar un script php teniendo el backup sql

Remplaza estas lineas:
Código PHP:
$bat "C:\xampp\htdocs\inicios\back\script.bat"; *//Donde guardamos el BAT?
$ejecutables "C:\xampp\mysql\bin"//Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
$destinoBU "C:\xampp\htdocs\sgu\back"// BU = Back-Up // Destino donde se guardara el archivo. 
por estas otras:
Código PHP:
$bat "C:/xampp/htdocs/inicios/back/script.bat"; *//Donde guardamos el BAT?
$ejecutables "C:/xampp/mysql/bin"//Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
$destinoBU "C:/xampp/htdocs/sgu/back"// BU = Back-Up // Destino donde se guardara el archivo. 
__________________
Mono programando!
twitter.com/eguimariano
  #10 (permalink)  
Antiguo 03/06/2012, 08:37
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema para realizar un script php teniendo el backup sql

Hola como estas, si deseas me agregas a tu correo para enviarte los script q uso en mi sistema para restaurar y respaldar y asi me echas una manito para ver si logras q hagan el respaldo y la restauracion en zip ya q lo hace en sql, este es mi correo [email protected]
  #11 (permalink)  
Antiguo 04/06/2012, 06:26
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

Nose que pasa pero tampoco anda sera que tengo otro problema? sera windows 7?? te agradezco mucho SirDuque tu ayuda pero me sigue saliendo el mismo error
"Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\inicios\back\restoback.php on line 3". Ruben te agregue al correo para ver si podemos ayudarnos con este tema. Si logro solucionarlo posteo cual era el error
  #12 (permalink)  
Antiguo 04/06/2012, 07:08
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Problema para realizar un script php teniendo el backup sql

Cita:
Iniciado por fabrikt Ver Mensaje
Nose que pasa pero tampoco anda sera que tengo otro problema? sera windows 7?? te agradezco mucho SirDuque tu ayuda pero me sigue saliendo el mismo error
"Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\inicios\back\restoback.php on line 3". Ruben te agregue al correo para ver si podemos ayudarnos con este tema. Si logro solucionarlo posteo cual era el error
No el problema no es de Win7 el problema es que editaste el codigo, y escribiste algo mal.

Pone el codigo completo sin "*" entre etiquetas [ P H P] [/ P H P] y te señalo cual es el error.
__________________
Mono programando!
twitter.com/eguimariano
  #13 (permalink)  
Antiguo 04/06/2012, 08:37
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

Este es el codigo
[ P H P]
<?php

$bat = "C:/xampp/htdocs/inicios/back/script.bat"; //Donde guardamos el BAT?
$ejecutables = "C:/xampp/mysql/bin"; //Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
$accion = isset($_GET['accion'])?"restaura":"backup"; // Alternativas restaura|backup
$host = 'localhost'; // host
$user = 'root'; // usuario
$pass = ''; // contraseña
$db = "inicios"; // base de datos a realizar el back-up
$destinoBU = "C:/xampp/htdocs/sgu/back"; // BU = Back-Up // Destino donde se guardara el archivo.
$nombreBU = !isset($_GET['archivo'])?"backUp-".date("d-m_H-i").".sql":$_GET['archivo']; // Nombre del archivo
$password =($pass != '')?" -p".$pass." $db":$db; // modifica la funcion si el usuario lleva password en blanco.
$Comando = "$bat $ejecutables $accion $host $user $password $destinoBU/$nombreBU ";
if(!is_dir($destinoBU) && @!mkdir($destinoBU)){
die("<samp><b>FATAL error:</b> no se puede acceder al destino.<br> Verificar permisos de escritura</samp>");
}
$resultado = exec($Comando);

if(!$resultado){
echo "<samp>Se produjo un error al realizar el Back-Up: ".$nombreBU."</samp><br>\r\n";
die($Comando);
}else{
echo "<h1>Exito! estamos salvaguardados!</h1>Archivo $nombreBU\r\n";
}
?>
[/ P H P]
  #14 (permalink)  
Antiguo 04/06/2012, 09:30
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Problema para realizar un script php teniendo el backup sql

Ok, verifique todo tal cual me lo diste, el error "Parse error: syntax error, unexpected T_VARIABLE in " es por que te faltaba un punto y coma " ;" que segun veo lo arreglaste.
Despues, lo probe y anda 10 puntos. ak te dejo el codigo como lo diste, con las modificaciones par mi servidor.

Código PHP:
<?php
 
/**
  * SCRIPT: Back-UP MySql.
  * Por SirDuque de Foros del Web
  * Version : 1.0.1
  * SO: Windows.
  * */
$bat "C:/xampp/htdocs/inicios/back/script.bat"//Donde guardamos el BAT?
$bat "C:/wamp/www/script.bat";
$ejecutables "C:/xampp/mysql/bin"//Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
$ejecutables "C:/wamp/bin/mysql/mysql5.5.20/bin";
$accion = isset($_GET['accion'])?"restaura":"backup"// Alternativas restaura|backup
$host 'localhost'// host
$user 'root'// usuario
$pass ''// contraseña
$db "db1"// base de datos a realizar el back-up
$destinoBU "C:/xampp/htdocs/sgu/back"// BU = Back-Up // Destino donde se guardara el archivo.
$destinoBU "C:/wamp/www/back";
$nombreBU = !isset($_GET['archivo'])?"backUp-".date("d-m_H-i").".sql":$_GET['archivo']; // Nombre del archivo
$password =($pass != '')?" -p".$pass." $db":$db// modifica la funcion si el usuario lleva password en blanco.
$Comando "$bat $ejecutables $accion $host $user $password $destinoBU/$nombreBU ";
if(!
is_dir($destinoBU) && @!mkdir($destinoBU)){
die(
"<samp><b>FATAL error:</b> no se puede acceder al destino.<br> Verificar permisos de escritura</samp>");
}
$resultado exec($Comando); 

if(!
$resultado){
echo 
"<samp>Se produjo un error al realizar el Back-Up: ".$nombreBU."</samp><br>\r\n";
die(
$Comando);
}else{
echo 
"<h1>Exito! estamos salvaguardados!</h1>Archivo $nombreBU\r\n";
}
?>
NOTA: Verifica que no estes llamando a un archivo viejo, y que el que estas editando es el que estas probando xD!
__________________
Mono programando!
twitter.com/eguimariano
  #15 (permalink)  
Antiguo 05/06/2012, 07:54
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

Gracias SirDuque el backup funciona de maravilla lo que aun no logro es hacer el restore intente pasando como parametros con get accion [restaura] pero no y tambien intente poniendo en el explorador lo que me dijiste pero tampoco pude. Disculpa que te hinche tanto ja ya me has ayudado un monton pero bue me falta el ultimo toque
  #16 (permalink)  
Antiguo 17/09/2012, 08:25
Avatar de fabrikt  
Fecha de Ingreso: mayo-2012
Ubicación: Parana, Entre Rios
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema para realizar un script php teniendo el backup sql

<?php
/**
* SCRIPT: Back-UP MySql.
* Por SirDuque de Foros del Web
* Version : 1.0.1
* SO: Windows.
* */
$bat = "C:/xampp/htdocs/inicios/back/script.bat"; //Donde guardamos el BAT?
//$bat = "C:/wamp/www/script.bat";
$ejecutables = "C:/xampp/mysql/bin"; //Donde esta ubicado el ejecutable dumpmysql.exe y mysql.exe
//$ejecutables = "C:/wamp/bin/mysql/mysql5.5.20/bin";
$accion = isset($_GET['accion'])?"restaura":"backup"; // Alternativas restaura|backup
$host = 'localhost'; // host
$user = 'root'; // usuario
$pass = ''; // contraseña
$db = "inicios"; // base de datos a realizar el back-up
$destinoBU = "C:/xampp/htdocs/inicios/back/"; // BU = Back-Up // Destino donde se guardara el archivo.
//$destinoBU = "C:/wamp/www/back";
$nombreBU = !isset($_GET['archivo'])?"backUp-".date("d-m_H-i").".sql":$_GET['archivo']; // Nombre del archivo
$password =($pass != '')?" -p".$pass." $db":$db; // modifica la funcion si el usuario lleva password en blanco.
$Comando = "$bat $ejecutables $accion $host $user $password $destinoBU/$nombreBU ";
if(!is_dir($destinoBU) && @!mkdir($destinoBU)){
die("<samp><b>FATAL error:</b> no se puede acceder al destino.<br> Verificar permisos de escritura</samp>");
}
$resultado = exec($Comando);

if(!$resultado){
echo "<samp>Se produjo un error al realizar el Back-Up: ".$nombreBU."</samp><br>\r\n";
die($Comando);
}else{
echo "<h1>Exito! estamos salvaguardados!</h1>Archivo $nombreBU\r\n";
}
?>


Bat


@echo off
cd "%1"
IF "%~2"=="backup" mysqldump.exe -h%3 -u%4 %5 > %6
IF "%~2"=="restaura" mysql.exe -h%3 -u%4 %5 < %6
pause

Etiquetas: mysql, phpmyadmin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:32.