| Usuario |
Mysqldump y PHP |
Desconocido
|
| Enviado - 28/11/2004 |
| |
Quiero hacer una copia de seguridad de mi base de datos y tengo un problema al ejecutar el mysqldump desde PHP con Linux, con Win va perfecto pero en Linux no me lo hace.
El código es el siguiente:
#$_SESSION['h'] es el host (localhost)
#$_SESSION['u'] el usuario
#$_SESSION['p'] el password
#$_SESSION['bd'] la base de datos
<?
function crea_backup($name){
$mysqldir="c:/mysql/bin/"; #lo uso para WIN
$mysqldir="/usr/bin/"; #lo uso para Linux
$ejecuta=$mysqldir."mysqldump -h ".$_SESSION['h']." -u ".$_SESSION['u']." -p".$_SESSION['p']." --add-drop-table ".$_SESSION['bd']." > ./backups/".$name;
system($ejecuta,$resul);
return $resul;
?>
Para Linux he probado con la instrucción shell_exec();
sustituiendo:
system($ejecuta,$resul);
por:
$resul=shell_exec($ejecuta);
pero no tube éxito.
Es posible que sea porque el apache no tenga permisos para ejecutar el programa /usr/bin/mysqldump y modifiqué el archivo /etc/sudoers para darle los permisos.
agregué la línea:
apache ALL=(ALL) ALL
Y nada de nada!!!!
¿Alguién me podría ayudar???? Muchas gracias |
| |
|
Desconocido
|
| Enviado - 29/11/2004 |
| |
Hola. La cosa está compicada. Prueba a poner:
apache localhost=/usr/bin/mysqldump
donde pusiste:
apache ALL=(ALL) ALL
a ver si así funciona.
Suerte! |
| |
|
Desconocido
|
| Enviado - 29/11/2004 |
| |
Primero GRASIAS por responder.
Ya probé y no cambia el resultado.
Nada de NADA... la verdad es que estoy mosca perdido...
No sé por dónde tirar. AYUDA!!! |
| |
|
|
|