Foros del Web » Programando para Internet » PHP »

No puedo hacer Backup de mi base de datos

Estas en el tema de No puedo hacer Backup de mi base de datos en el foro de PHP en Foros del Web. Amigos miren la hora que es y no he podido dormir porque no puedo hacer backup de mi base de datos por medio de PHP ...
  #1 (permalink)  
Antiguo 23/11/2008, 03:09
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
No puedo hacer Backup de mi base de datos

Amigos miren la hora que es y no he podido dormir porque no puedo hacer backup de mi base de datos por medio de PHP He estado buscando y consegui este codigo:
Código PHP:
<?php //servidor MySql  
$C_SERVER='localhost';  
//base de datos  
$C_BASE_DATOS='prontomed';  
//usuario y contraseña de la base de datos mysql  
$C_USUARIO='root';  
$C_CONTRASENA='';  
//ruta archivo de salida   
//(el nombre lo componemos con Y_m_d_H_i_s para que sea diferente en cada backup)  
$C_RUTA_ARCHIVO '/ruta_hasta/backups/backup_'.date("Y_m_d_H_i_s").'.sql';  
//si vamos a comprimirlo  
$C_COMPRIMIR_MYSQL='true';  
  
  
//comando  
$command "mysqldump --opt -h ".$C_SERVER." ".$C_BASE_DATOS." -u ".$C_USUARIO." -p".$C_CONTRASENA.  
     
" -r \"".$C_RUTA_ARCHIVO."\" 2>&1";   
   
//ejecutamos  
system($command);  
  
//comprimimos  
if ($C_COMPRIMIR_MYSQL == 'true') {  
 
system('bzip2 "'.$C_RUTA_ARCHIVO.'"');  
}  
?>
Pero al ejecutar el archivo me sale este error...

"mysqldump" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable


Muchachos necesito ayuda... No se como hacer este Backup... Les agradezco mucho de su ayuda... Muchas Gracias...
  #2 (permalink)  
Antiguo 23/11/2008, 06:43
Avatar de ComfortHost  
Fecha de Ingreso: junio-2006
Ubicación: En el Server Room
Mensajes: 25
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: No puedo hacer Backup de mi base de datos

Es muy probable que tu host tenga restringido el system() o que mysqldump no esté en el path de tu usuario. Ambos se restringen a menudo en los hostings por motivos de seguridad bastante evidentes (igual que haces backup puedes borrar...).

Prueba de hacerlo desde el mismo php, sin llamadas a sistema

sql = "BACKUP DATABASE $C_BASE_DATOS TO `$C_RUTA_ARCHIVO`";
$result = mysql_query($sql );

Si esto no te va porque el comando backup este restringido solo te queda

sql = "SELECT * INTO OUTFILE `$C_RUTA_ARCHIVO` FROM $C_BASE_DATOS ";
$result = mysql_query($sql );

En cada uno pierdes algo de información (en el último tienes sólo datos) pero al menos tienes eso.

Si la tercera tampoco funciona y estás seguro que no es tu programa... cambia de host

Quel
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 18:44.