La cuestión es que he diseñado una aplicación web tipo apache-php-mysql donde el punto más fuerte es la base de datos, motivo por el cual es necesario hacer una copia de seguridad periódica.
Tengo contratado un servidor virtual en el que corre un sistema operativo de linux. Por lo que mi idea era crear un script y llamarlo cada día con crontab sobre las 4 de la mañana (hora de menos actividad) para hacer la copia de seguridad de la base de datos.
Después de mucho, mucho buscar encontré un script que me corre a la perfección en mi servidor local (mi máquina tiene instalado un windows xp).
Aquí les pego el código:
Código PHP:
$serv="XXXX"; //nombre del servidor
$bd="XXXX"; //nombre de la base de datos
$usr="XXXX"; //usuario para conectarse a la base de datos
$pwd="XXXX"; //password del usuario
$mysqldump='"C:\xampp\mysql\bin\mysqldump.exe"';
//el nombre del backup llevara la fecha y hora del servidor:
$nombre_back = "juego2_";
$nombre_back .= date("d-n-Y_h-i");
passthru("$mysqldump $bd -h $serv -u $usr -p$pwd > C:/xampp/htdocs/".$nombre_back.".sql", $error);
Aquí les dejo el código que subo a la web para hacer la copia de seguridad:
Código PHP:
$serv="XXXX"; //nombre del servidor
$bd="XXXXX"; //nombre de la base de datos
$usr="XXXXX"; //usuario para conectarse a la base de datos
$pwd="XXXXXXXX"; //password del usuario
$mysqldump='"/var/lib/mysql/mysqldump"'; //<- creo que esta es la ruta correcta
//el nombre del backup llevara la fecha y hora del servidor:
$nombre_back = "juego2_";
$nombre_back .= date("d-n-Y_h-i");
passthru("$mysqldump $bd -h $serv -u $usr -p$pwd > XXXX/bakap/".$nombre_back.".sql", $error);
echo $error; //<- aquí me imprime 127
1- no estoy utilizando bien la función passthru (ya probé con exec y system y nada)
2- no le estoy dando la ruta correcta a mysqldump
3- no le estoy dando la ruta correcta donde guardar el archivo
Pero puede que también esté equivocado.
Siento haber hecho un tema tan largo. Muchas gracias por adelantado.
He escrito este tema en el foro de mysql pero me han dicho que lo ponga aquí en php espero que me puedan ayudar.