Hola foreros llevo un tiempo intentando crear mi backup desde PHP ...uso el postgres 8.2 y appserv n Win XP y este es mi codigo para hacer el backup
Código PHP:
include "seguridad.php";
include "conexion.php";
$fileNamePgsqlDump = "Copia_de_Seguridad";//nombre del fichero sql
$fileNamePgsqlDump = date("Y-d-m")."-".$fileNamePgsqlDump.".backup";//añado la fecha al nombre del fichero
$sysOperative = (stristr(PHP_OS, 'WIN')) ? "Windows" : "Linux";//compruebo el sistema operativo del servidor
switch ($sysOperative){//creo el selector de sistema operativo
case 'Windows'://servidores pgsql montados en maquinas windows
$PgsqlDump = "c:\archivos de programa\postgresql\8.2\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f 'C:..\..\backup\$fileNamePgsqlDump' dbmuseo";//ejecuto el backup
system($PgsqlDump, $resultPgsqlDump);
break;
case 'Linux'://servidores mysql montados en maquinas linux
$PgsqlDump = "mysqldump -u $sql_usuario --password=$sql_pass --opt $sql_db > $ruta.$fileNameMySqlDump.sql";//ejecuto el backup
system($PgsqlDump, $resultPgsqlDump);
break;
default:
echo "Error 7000: Se produjo error por no ser un sistema compatible con Windows - Unix - Linux.";//si el sistema operativo no existe o no esta definido, error
exit;
break;
}//termino switch
if($resultPgsqlDump) {
echo "<H1>Error ejecutando comando: $fileNamePgsqlDump</H1>\n";//compruebo errores
}else{
echo "<H1>Hecho: $fileNamePgsqlDump</H1>\n";
}