Alguna respuesta a este tema por favor ?
Alguien sabe como poder hacerlo ?
Gracias de antemano.
10Likes
Esta es una discusión para el tema vBseo no permite hacer backups de mi bd mYSQL. en el foro vBSEO, bajo la categoría Soporte para Productos/Plugins; Hola a todos chicos, desde que puse vBseo en mi foro tengo un problemilla y no sé cómo solucionarlo ya que la verdad es que estoy un poco preocupado ya con ello.
Desde que lo ...
Página:
Hola a todos chicos, desde que puse vBseo en mi foro tengo un problemilla y no sé cómo solucionarlo ya que la verdad es que estoy un poco preocupado ya con ello.
Desde que lo instale he intentado hacer backup de la base de datos al mismo Ftp raíz del foro pero no lo permite, es decir antes yo configuraba el archivo para hacer el backup ponía la dirección en el navegador y me salía sin problemas, pero se ve que el vBseo bloquea este tipo de acciones ya que cuando pongo la dirección tan solo hay una página en blanco.
Si alguien me puede decir por favor como puedo realizar las copias de seguridad le estaría enormemente agradecido ya que no se cómo.
También intente hacerlo directamente desde el Plesk de mi servidor pero no me lo permite ya que la base de datos es muy grande.
Mi versión del vBseo es la última 3.5
Saludos.
Alguna respuesta a este tema por favor ?
Alguien sabe como poder hacerlo ?
Gracias de antemano.
Intentas hacer un backup de tu foro desde el panel de administración?
Si es así, te informo que vBulletin 4 ya no tiene esa opción.
Ricardo Núñez
Las reglas están hechas para romperse, menos las de vBhispano.
Hola Rinunez, gracias por tu mensaje. Recuerdo La opción esa dentro del 3.8.4 pero no intentaba hacerlo de ese modo. Hasta no hace mucho lo hacia siempre con dos files que subía al ftp estilo mySQl dump y ahora no funcionan al tener instalado el vBseo.
No se porque la verdad es como si el vBseo bloqueara las webs y cuando pongo la dirección de la carpeta donde esta el file para empeza el backup no hace nada.
Gracias de antemano por tu respuesta y interés mostrado.
Estaba pensando también abrir una incidencia en vBseo pero antes creí oportuno comentarlo aquí.
Saludos.
Sería interesante conocer el proceso de como haces tu el backup.
Como se llama? así busco![]()
Ricardo Núñez
Las reglas están hechas para romperse, menos las de vBhispano.
Hola Rinunez, cuando llegue a casa esta noche te respondo y digo cual es el sistema que uso.
Muchas gracias por tu ayuda.
Saludos.
---------- Actualizado a las 14:11 ---------- Original a las 10:25 ----------
Hola, el sistema que uso es el siguiente.
Se llama dump_db. Normalmente este se sube al Ftp y se le da permisos a una carpeta 777 para despues abrirlo en el navegador y poder crear la base de datos.
Pero con el vBseo nada de nada.
Aqui te adjunto el código por si quieres verlo.
Es un Php.
Código PHP:<?php
/*
Copyright 2005 © insidephp@gmail.com
Se otorga el permiso para copiar, distribuir, y/o modificar este programa bajo los términos
de la Licencia GNU de Documentación Libre (GFDL, GNU Free Documentation License) versión 2
o posteriores publicadas por la Fundación Software Libre (FSF, Free Software Foundation).
Según esta licencia, cualquier trabajo derivado de esta documentación deberá ser notificado
al autor, aunque la voluntad del mismo es otorgar la máxima libertad posible.
Este programa se distribuye con la intención de ser útil, pero SIN NINGUNA GARANTÍA; incluso
sin la garantía implícita de USABILIDAD o UTILIDAD PARA UN FIN PARTICULAR. Vea la Licencia
Pública General GNU para más detalles.
Soporte y Updaters: http://insidephp.sytes.net
email: insidephp@gmail.com
*/
//------------------------------------------------------------------------------------------
// Definiciones
// Conexión con la Base de Datos.
$db_server = "localhost";
$db_name = "XXXXXXXXXXx";
$db_username = "XXXXXXXXXXXXX";
$db_password = "XXXXXXXXXXXXXXX";
// Acceso al script.
$auth_user = "XXXXXXXXX";
$auth_password = "XXXXXXXX";
// Nombre del archivo.
$filename = "database.sql.gz";
//------------------------------------------------------------------------------------------
// No tocar
error_reporting( E_ALL & ~E_NOTICE );
define( 'Str_VERS', "1.1.2" );
define( 'Str_DATE', "28 de Marzo de 2005" );
//------------------------------------------------------------------------------------------
?>
<?php
// Check to see if $PHP_AUTH_USER already contains info
if (!isset($_SERVER['PHP_AUTH_USER'])) {
// If empty, send header causing dialog box to appear
header('WWW-Authenticate: Basic realm="Acceso al Dump y Download la Base de Datos"');
header('HTTP/1.0 401 Unauthorized');
// Defines the charset to be used
header('Content-Type: text/html; charset=iso-8859-1');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Acceso Denegado</title>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="must-revalidate">
<!-- end no cache headers -->
</HEAD>
<BODY
bgcolor="#D5D5D5"
text="#000000"
id="all"
leftmargin="25"
topmargin="25"
marginwidth="25"
marginheight="25"
link="#000020"
vlink="#000020"
alink="#000020">
<center><h1>Dump y Download la Base de Datos</h1></center><br>
<strong><center><p>Usuario/contraseña equivocado. Acceso denegado.</p></center>
<?php
echo( "</strong><br><br><hr><center><small>" );
setlocale( LC_TIME,"spanish" );
echo strftime( "%A %d %B %Y - %H:%M:%S", time() );
echo( "<br>©2005 <a href=\"mailto:insidephp@gmail.com\">Inside PHP</a><br>" );
echo( "vers." . Str_VERS . "<br>" );
echo( "</small></center>" );
echo( "</BODY>" );
echo( "</HTML>" );
exit();
}
else {
if (($_SERVER['PHP_AUTH_USER'] != $auth_user ) || ($_SERVER['PHP_AUTH_PW'] != $auth_password )) {
header('WWW-Authenticate: Basic realm="Acceso al Dump y Download la Base de Datos"');
header('HTTP/1.0 401 Unauthorized');
// Defines the charset to be used
header('Content-Type: text/html; charset=iso-8859-1');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Acceso Denegado</title>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="must-revalidate">
<!-- end no cache headers -->
</HEAD>
<BODY
bgcolor="#D5D5D5"
text="#000000"
id="all"
leftmargin="25"
topmargin="25"
marginwidth="25"
marginheight="25"
link="#000020"
vlink="#000020"
alink="#000020">
<center><h1>Dump y Download la Base de Datos</h1></center><br>
<strong><center><p>Usuario/contraseña equivocado. Acceso denegado.</p></center>
<?php
echo( "</strong><br><br><hr><center><small>" );
setlocale( LC_TIME,"spanish" );
echo strftime( "%A %d %B %Y - %H:%M:%S", time() );
echo( "<br>©2005 <a href=\"mailto:insidephp@gmail.com\">Inside PHP</a><br>" );
echo( "vers." . Str_VERS . "<br>" );
echo( "</small></center>" );
echo( "</BODY>" );
echo( "</HTML>" );
exit();
}
else {
/////// El área protegida empieza DESPUÉS de la SIGUIENTE línea /////
?>
<?php
//------------------------------------------------------------------------------------------
// Funciones
error_reporting( E_ALL & ~E_NOTICE );
function fetch_table_dump_sql($table, $fp = 0) {
$rows_en_tabla = 0;
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "-- Table structure for table `$table`\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "--\n\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = query_first("SHOW CREATE TABLE $table");
strip_backticks($tabledump['Create Table']);
$tabledump = "DROP TABLE IF EXISTS $table;\n" . $tabledump['Create Table'] . ";\n\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "-- Dumping data for table `$table`\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "--\n\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$tabledump = "LOCK TABLES $table WRITE;\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$rows = query("SELECT * FROM $table");
$numfields=mysql_num_fields($rows);
while ($row = fetch_array($rows, DBARRAY_NUM)) {
$tabledump = "INSERT INTO $table VALUES(";
$fieldcounter = -1;
$firstfield = 1;
// campos
while (++$fieldcounter < $numfields) {
if( !$firstfield) {
$tabledump .= ', ';
}
else {
$firstfield = 0;
}
if( !isset($row["$fieldcounter"])) {
$tabledump .= 'NULL';
}
else {
$tabledump .= "'" . mysql_escape_string($row["$fieldcounter"]) . "'";
}
}
$tabledump .= ");\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
$rows_en_tabla++;
}
free_result($rows);
$tabledump = "UNLOCK TABLES;\n";
if( !$hay_Zlib )
fwrite($fp, $tabledump);
else
gzwrite($fp, $tabledump);
return $rows_en_tabla;
}
function strip_backticks(&$text) {
return $text;
}
function fetch_array($query_id=-1) {
if( $query_id!=-1) {
$query_id=$query_id;
}
$record = mysql_fetch_array($query_id);
return $record;
}
function problemas($msg) {
$errdesc = mysql_error();
$errno = mysql_errno();
$message = "<br>";
$message .= "- Ha habido un problema accediendo a la Base de Datos<br>";
$message .= "- Error $appname: $msg<br>";
$message .= "- Error mysql: $errdesc<br>";
$message .= "- Error número mysql: $errno<br>";
$message .= "- Script: ".getenv("REQUEST_URI")."<br>";
$message .= "- Referer: ".getenv("HTTP_REFERER")."<br>";
echo( "</strong><br><br><hr><center><small>" );
setlocale( LC_TIME,"spanish" );
echo strftime( "%A %d %B %Y - %H:%M:%S", time() );
echo( "<br>©2005 <a href=\"mailto:insidephp@gmail.com\">Inside PHP</a><br>" );
echo( "vers." . Str_VERS . "<br>" );
echo( "</small></center>" );
echo( "</BODY>" );
echo( "</HTML>" );
die("");
}
function free_result($query_id=-1) {
if( $query_id!=-1) {
$query_id=$query_id;
}
return @mysql_free_result($query_id);
}
function query_first($query_string) {
$res = query($query_string);
$returnarray = fetch_array($res);
free_result($res);
return $returnarray;
}
function query($query_string) {
$query_id = mysql_query($query_string);
if( !$query_id) {
problemas("Invalid SQL: ".$query_string);
}
return $query_id;
}
//------------------------------------------------------------------------------------------
// Main
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<title>Dump y Download la Base de Datos</title>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="must-revalidate">
<!-- end no cache headers -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</HEAD>
<BODY
bgcolor="#D5D5D5"
text="#000000"
id="all"
leftmargin="25"
topmargin="25"
marginwidth="25"
marginheight="25"
link="#000020"
vlink="#000020"
alink="#000020">
<center><h1>Dump y Download la Base de Datos</h1></center>
<br>
<strong>
<?php
@set_time_limit( 0 );
echo( "- Base de Datos: '$db_name' en '$db_server'.<br>" );
$error = false;
$tablas = 0;
$total_tablas = 0;
$total_rows = 0;
if( !@function_exists( 'gzopen' ) ) {
$hay_Zlib = false;
echo( "- Ya que no está disponible Zlib, salvaré la Base de Datos sin comprimir, como '$filename'<br>" );
}
else {
$filename = $filename . ".gz";
$hay_Zlib = true;
echo( "- Ya que está disponible Zlib, salvaré la Base de Datos comprimida, como '$filename'<br>" );
}
if( !$error ) {
$dbconnection = @mysql_connect( $db_server, $db_username, $db_password );
if( $dbconnection)
$db = mysql_select_db( $db_name );
if( !$dbconnection || !$db ) {
echo( "<br>" );
echo( "- La conexion con la Base de datos ha fallado: ".mysql_error()."<br>" );
$error = true;
}
else {
echo( "<br>" );
echo( "- He establecido conexion con la Base de datos.<br>" );
}
}
if( !$error ) {
// MySQL versión
$result = mysql_query( 'SELECT VERSION() AS version' );
if( $result != FALSE && @mysql_num_rows($result) > 0 ) {
$row = mysql_fetch_array($result);
} else {
$result = @mysql_query( 'SHOW VARIABLES LIKE \'version\'' );
if( $result != FALSE && @mysql_num_rows($result) > 0 ){
$row = mysql_fetch_row( $result );
}
}
if(! isset($row) ) {
$row['version'] = '3.21.0';
}
}
if( !$error ) {
$el_path = getenv("REQUEST_URI");
$el_path = substr($el_path, strpos($el_path, "/"), strrpos($el_path, "/"));
$result = mysql_list_tables( $db_name );
if( !$result ) {
print "- Error, no puedo obtener la lista de las tablas.<br>";
print '- MySQL Error: ' . mysql_error(). '<br><br>';
$error = true;
}
else {
$t_start = time();
if( !$hay_Zlib )
$filehandle = fopen( $filename, 'w' );
else
$filehandle = gzopen( $filename, 'w6' ); // nivel de compresión
if( !$filehandle ) {
$el_path = getenv("REQUEST_URI");
$el_path = substr($el_path, strpos($el_path, "/"), strrpos($el_path, "/"));
echo( "<br>" );
echo( "- No he podido crear '$filename' en '$el_path/'. Por favor, asegúrese de<br>" );
echo( " que dispone de privilegios de escritura.<br>" );
}
else {
$tabledump = "-- Dump de la Base de Datos\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
setlocale( LC_TIME,"spanish" );
$tabledump = "-- Fecha: " . strftime( "%A %d %B %Y - %H:%M:%S", time() ) . "\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Version: " . Str_VERS . ", del " . Str_DATE . ", insidephp@gmail.com\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Soporte y Updaters: http://insidephp.sytes.net\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Host: `$db_server` Database: `$db_name`\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- ------------------------------------------------------\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Server version ". $row['version'] . "\n\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
echo("<br>");
$result = query( 'SHOW tables' );
while( $currow = fetch_array($result, DBARRAY_NUM) ) {
$total_tablas++;
$st = number_format($total_tablas, 0, ',', '.');
echo(" Tablas - Rows procesados: $st - ");
$total_rows += fetch_table_dump_sql( $currow[0], $filehandle );
$sc = number_format($total_rows, 0, ',', '.');
echo("$sc<br>");
fwrite( $filehandle, "\n" );
if( !$hay_Zlib )
fwrite( $filehandle, "\n" );
else
gzwrite( $filehandle, "\n" );
$tablas++;
}
echo("<br>");
$tabledump = "\n-- Dump de la Base de Datos Completo.";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
if( !$hay_Zlib )
fclose( $filehandle );
else
gzclose( $filehandle );
$t_now = time();
$t_delta = $t_now - $t_start;
if( !$t_delta )
$t_delta = 1;
$t_delta = floor(($t_delta-(floor($t_delta/3600)*3600))/60)." minutos y "
.floor($t_delta-(floor($t_delta/60))*60)." segundos.";
echo( "- He salvado las $tablas tablas en $t_delta<br>" );
echo( "<br>" );
echo( "- El Dump de la Base de Datos está completo.<br>" );
echo( "- He salvado la Base de Datos en: $el_path/$filename<br>" );
echo( "<br>" );
echo( "- Puede bajársela directamente: </strong><a href=\"$filename\">$filename</a>" );
$size = filesize($filename);
$size = number_format($size, 0, ',', '.');
echo( " <small>($size bytes)</small><br>" );
}
}
}
if( $dbconnection )
mysql_close();
echo( "</strong><br><br><hr><center><small>" );
setlocale( LC_TIME,"spanish" );
echo strftime( "%A %d %B %Y - %H:%M:%S", time() );
echo( "<br>©2005 <a href=\"mailto:insidephp@gmail.com\">Inside PHP</a><br>" );
echo( "vers." . Str_VERS . "<br>" );
echo( "</small></center>" );
echo( "</BODY>" );
echo( "</HTML>" );
//------------------------------------------------------------------------------------------
// END
?><?php
/////// El área protegida acaba ANTES de la ANTERIOR línea /////
}
}
?>
Pero si l odesactivas funciona cierto?
el .htaccess está bien?
Ricardo Núñez
Las reglas están hechas para romperse, menos las de vBhispano.
Hola Rinunez, lo he desactivado pero tampoco funciona.
Es algo raro la verdad, es como si se bloquearan todos los accesos a ciertos datos del foro al instalar el vBseo.
El .htaccess tengo puesto el oficial de cuando compré el vBseo hace cosa de un mes.
Gracias por tu ayuda amigo, esta noche vuelvo a probar otra vez desactivandolo como bien dices a ver que sucede de nuevo.
Hola nuevamente, no funciona el sistema.
Siempre da el mismo error.
Page not Found.
Y eso que acabo de actualizar a la nueva version y no puedo realizar backup del sistema.
Alguien del staff del foro deberia poder saber como realizar las copias de seguridad ya que tambien usan el mismo foro que yo y el vBseo.
Saludos.
Lo mejor es instalar el MysqlDumper, te quitas de todos los problemas, además verás que puedes configurar hasta el tamaño de los paquetes, impidiendo en gran medida que se saturen los servidores mysql, no solo te servirá para la base de datos del foro, si no para todas las bases de datos de tu server, con una sola instalación e interfaz.
Hola Xony, yo usé el MysqlDumper al inicio de vBulletin y lo cambié por el que estaba usando ahora que es el dump_db este lo que hace es crear en una carpeta la base de datos automaticamente y despues la puedes descargar.
Voy a probar el que me dices nuevamente y posteo si funciona.
Pd. por cierto tienes tu tambien el vBseo y puedes hacerlas ?
Gracias y saludos por tu comentario.
Hola buenas, ya lo he intentado con el mySQlDumper y tampoco funciona.
Siempre que lo intento realizar tanto con uno como con otro me da el siguiente error.
Page not found
Me gustaria saber de alguien que tenga el vBseo instalado como realiza las copias de seguridad de su foro ya que este tema ya me esta preocupando.
Al tener instalado el vBseo no deja ni desabilitandolo, desde el vBseo o desde el panel de control del AdminCp no funciona y no se como la verdad.
Gracias.
Hola Tize, prueba deshabilitando el vBseo desde:
- Admincp
- Plugins y Productos
- Administrar productos
Después de deshabilitar el vBseo, elimina el .htaccess (haz una copia de seguridad del archivos antes de borrar) del root donde se encuentre el foro, con eso de debería darte problemas.
Por cierto, porque no realizas tu backup desde el Cpanel, aquí te dejo una guía.
Guías para vBulletin
http://www.vbhispano.com/foros/f6/re...ulletin-15646/
Si, solo deseas agradecerme, haz clic en el boton "Gracias"
Hola BlackPoint, gracias por tu comentario.
Pero no es tan facil, estoy usando la version 4.0.2 Patch Level 4 y de este modo no puedo realizar Backup desde el Admincp.
Y del modo que me comentas borrando el htacces no tengo forma ya que no lo veo , uso servidor de linux y cuando subes ese archivo desaparece.
Gracias por tu mensaje y por intentar ayudarme.![]()
Borra el archivo .htaccess desde tu Cpanel mediante la opción Administrador de archivos , y saca el backup desde el Cpanel también mediante phpMy Admin
Si, solo deseas agradecerme, haz clic en el boton "Gracias"