Tengo el siguiente inconveniente:
Estoy implementando un script de Deathmetalrules en el siguiente enlace [URL="http://www.forosdelweb.com/f18/aporte-sistema-respaldo-restauracion-bases-datos-920487/"]http://www.forosdelweb.com/f18/aporte-sistema-respaldo-restauracion-bases-datos-920487/[/URL] el cual genera un backup de mi bd mysql con php y por otro lado puedo restaurar la misma desde cualquier respaldo generado que yo seleccione, el problema se presenta al momento de intentar restaurar mi bd a un estado anterior, indicándome el siguiente error:
Error ejecutando comando: C:/xampp/mysqlbin/mysql -h localhost -u root --password= comprobantes < C:/Respaldo/ficheroParaRestaurar.sql
ERROR. La copia de seguridad no se ha restaurado
Por lo que entiendo el error se encuentra en la linea del comando executa del archivo restore pero no logro identificar el porque,
A continuacion los 3 archivos que implemento:
conexion.php
Código PHP:
Ver original
<?php $servername='localhost';//localhost $dbusername='root';//root $dbpassword='';//tupass $dbname='comprobantes';//tuclave connecttodb($servername,$dbname,$dbusername,$dbpassword); function connecttodb($servername,$dbname,$dbusername,$dbpassword) { if(!$link) { } } ?>
backup.php
Código PHP:
Ver original
<?php include("conexion.php"); $ficheroDeLaCopia =$dbname.$fechaDeLaCopia.".sql"; $sistema="show variables where variable_name= 'basedir'"; if ($primero=="/") { $DirBase="mysqldump"; } else { $DirBase=$DirBase."bin\mysqldump"; } $executa="$DirBase --host=$servername --user=$dbusername --password=$dbpassword -R -c --add-drop-table $dbname > $ficheroDeLaCopia"; ?>
restore.php
Código PHP:
Ver original
<?php include ("conexion.php"); echo'<title>Restore & backup para windows y linux</title>'; { $contenidoDeFormulario="<form action='restore.php' method='post' enctype='multipart/form-data' name='formularioDeRestauracion'"; $contenidoDeFormulario.="id='formularioDeRestauracion'>\n"; $contenidoDeFormulario.="<table width='360' border='0' align='center' class='normal' cellspacing='7'>\n"; $contenidoDeFormulario.="<tr>\n"; $contenidoDeFormulario.="<td colspan='4' align=center>Indique el origen del archivo de copia: </td>\n"; $contenidoDeFormulario.="</tr>\n"; $contenidoDeFormulario.="<td colspan='2' align=center><input type='file' name='ficheroDeCopia' id='ficheroDeCopia'"; $contenidoDeFormulario.="size='30'></td>\n"; $contenidoDeFormulario.="<tr>\n"; $contenidoDeFormulario.="<td colspan='3' align='center'><input name='envio' type='submit' "; $contenidoDeFormulario.="id='envio' value='[ Aceptar ]'></td>\n"; $contenidoDeFormulario.="</tr>\n"; $contenidoDeFormulario.="</tbody>\n"; $contenidoDeFormulario.="</table>\n"; $contenidoDeFormulario.="</form>\n"; echo ($contenidoDeFormulario); } else { $archivoRecibido=$_FILES["ficheroDeCopia"]["tmp_name"]; $destino="C:/Respaldo/ficheroParaRestaurar.sql"; { $mensaje='EL proceso ha fallado'; echo $mensaje; } $sistema="show variables where variable_name= 'basedir'"; if ($primero=="/") { $DirBase="bin/mysql"; } else { $DirBase=$DirBase."bin\mysql"; } $executa = "$DirBase -h $servername -u $dbusername --password=$dbpassword $dbname < $destino"; if ($resultado) { echo "<H3>Error ejecutando comando: $executa</H3>\n"; $mensaje="ERROR. La copia de seguridad no se ha restaurado."; $cabecera="COPIA DE SEGURIDAD NO RESTAURADA"; echo $mensaje; echo "<meta http-equiv='Refresh' content='3;url=config-sistema.php'>"; } else { $mensaje2="La copia de seguridad se ha restaurado correctamente."; $cabecera2="COPIA DE SEGURIDAD RESTAURADA"; echo $mensaje2; echo "<meta http-equiv='Refresh' content='3;url=config-sistema.php'>"; } } ?>
Muchas gracias de antemano por la ayuda que me puedan brindar