Bueno, después de no pocos quebraderos de cabeza he conseguido solucionar el problema de restaurar la base de datos desde el fichero tabla.sql que subía a la ubicación backup de mi servidor.
El problema estaba en la restauración de dicho fichero, la línea de comandos que me ha funcionado ha sido:
mysql --host=localhost --user=usuario --password=contraseña basededatos < pathdelfichero/tabla.sql
Cuelgo el script por si le sirve a alguien.
Como siempre saludos a todos los que dedican un pelín de su tiempo a echar una mano a los novatos como yo.
Código PHP:
<?require ("conex.php");
set_time_limit(0);
//subimos el fichero tabla.sql
$extensiones=array("html","exe","php");
$path="/home/httpd/vhosts/dominio.com/httpdocs/backup/";
$nombre=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$tipo=$_FILES['archivo']['type'];
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
for($i=0; $i<=$valor; $i++) {
if($extensiones[$i] == $var[1]) {
echo "Tipo de Archivo no admitido";
exit;
}
}
if (is_uploaded_file($_FILES['archivo']['tmp_name']))
{
move_uploaded_file($_FILES['archivo']['tmp_name'], "$path$nombre");
echo "El archivo se ha subido correctamente al servidor, muchas gracias <p>";
echo "Nombre: $nombre <p>";
echo "Tamaño: $tamanio <p>";
echo "Tipo: $tipo";
}
else { echo "Error al subir el archivo"; }
//Restauramos la base de datos leyendo el fichero tabla.sql
echo "Su base esta siendo restaurada.......\n<br>";
$executa = "mysql --host=localhost --user=usuario --password=contraseña basededatos < ".$path.$nombre;
system($executa, $resultado);
if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
else {
echo "Fin. Su base está emplazada en su alojamiento.<p>";
}
//borramos el fichero tabla.sql subido a la ubicación backup
$return = unlink($path.$nombre);
//Return FALSE if not found
var_dump($return);
?>