Обсуждение: Problemas con la copia de seguridad PostgresSQL

Поиск
Список
Период
Сортировка

Problemas con la copia de seguridad PostgresSQL

От
sergio barrera
Дата:
Buenas compañeros!
 
Tengo un problema al cual no le encuentro la lógica. Mi idea es realizar una copia de seguridad de una base de datos PostgresSQL diaria bajo el sistema operativo Linux-Ubuntu 9. Para ello primero, he ejecutado el siguiente comando en el terminal, obteniendo una respuesta esperada:
 
$ pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
Al ejecutar dicha sentencia, se me genera un archivo con nombre "fechaC.backup", que es el resultado esperado. El segundo paso es realizar un script para que pueda ser lanzado diariamente por el cron y ahí es donde tengo el problema. El script que me he generado(respaldoBD.sh) es tan sencillo como:
 
#!/bin/sh
pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
El problema es que cuando ejecuto en el terminal
$source respaldoBD.sh
me reporta el siguiente error : »: FATAL:  no existe la base de datos «openbravoa base de datos «openbravo
pg_dump: *** se abortó por un error
 
No entiendo esto si estoy ejecutando la misma sentencia pero en este caso desde un script. ¿Porqué podria pasar esto?
 
Nota : tengo el archivo de .pgpass con permisos 0600 y de valor :
 
*:*:*:postgres:postgres
*:*:*:*:postgres
 
Espero vuestra ayuda porque ya no se lo que probar, Muchas Gracias
 
INGENIERO INFORMÁTICO
ANALISTA/PROGRAMADOR


¡Nuevo MSN Entretenimiento! Todos los trailers, series de tv y videoclips, los mejores juegos online y lo último sobre tus estrellas favoritas.

Re: Problemas con la copia de seguridad PostgresSQL

От
Diego Schulz
Дата:


2010/2/13 sergio barrera <xpbarrera@hotmail.com>
Buenas compañeros!
 
Tengo un problema al cual no le encuentro la lógica. Mi idea es realizar una copia de seguridad de una base de datos PostgresSQL diaria bajo el sistema operativo Linux-Ubuntu 9. Para ello primero, he ejecutado el siguiente comando en el terminal, obteniendo una respuesta esperada:
 
$ pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
Al ejecutar dicha sentencia, se me genera un archivo con nombre "fechaC.backup", que es el resultado esperado. El segundo paso es realizar un script para que pueda ser lanzado diariamente por el cron y ahí es donde tengo el problema. El script que me he generado(respaldoBD.sh) es tan sencillo como:
 
#!/bin/sh
pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
El problema es que cuando ejecuto en el terminal
$source respaldoBD.sh
me reporta el siguiente error : »: FATAL:  no existe la base de datos «openbravoa base de datos «openbravo
pg_dump: *** se abortó por un error
 
No entiendo esto si estoy ejecutando la misma sentencia pero en este caso desde un script. ¿Porqué podria pasar esto?
 
Nota : tengo el archivo de .pgpass con permisos 0600 y de valor :
 
*:*:*:postgres:postgres
*:*:*:*:postgres
 
Espero vuestra ayuda porque ya no se lo que probar, Muchas Gracias
 


¿Desde el crontab de qué usuario se ejecuta el script?  El de root? 

¿Podrías mostrarnos la línea que tienes en el crontab?

Saludos,

diego

Re: Problemas con la copia de seguridad PostgresSQL

От
Diego Schulz
Дата:


2010/2/13 sergio barrera <xpbarrera@hotmail.com>
Buenas compañeros!
 
Tengo un problema al cual no le encuentro la lógica. Mi idea es realizar una copia de seguridad de una base de datos PostgresSQL diaria bajo el sistema operativo Linux-Ubuntu 9. Para ello primero, he ejecutado el siguiente comando en el terminal, obteniendo una respuesta esperada:
 
$ pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
Al ejecutar dicha sentencia, se me genera un archivo con nombre "fechaC.backup", que es el resultado esperado. El segundo paso es realizar un script para que pueda ser lanzado diariamente por el cron y ahí es donde tengo el problema. El script que me he generado(respaldoBD.sh) es tan sencillo como:
 
#!/bin/sh
pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f /home/sbarrera/BACKUP/copia_BD_Openbravo/fechaC.backup openbravo
 
El problema es que cuando ejecuto en el terminal
$source respaldoBD.sh
me reporta el siguiente error : »: FATAL:  no existe la base de datos «openbravoa base de datos «openbravo
pg_dump: *** se abortó por un error
 
No entiendo esto si estoy ejecutando la misma sentencia pero en este caso desde un script. ¿Porqué podria pasar esto?
 
Nota : tengo el archivo de .pgpass con permisos 0600 y de valor :
 
*:*:*:postgres:postgres
*:*:*:*:postgres
 
Espero vuestra ayuda porque ya no se lo que probar, Muchas Gracias



Si usas el crontab de root, puedes invocar a pg_dump con el comando su. Sería mas o menos asi:

(dentro del script)

# volcado en formato 'archive'
su sbarrera -c '/usr/pg_dump -Fc mibasededatos'  > /algun/lugar/backus/backup-${NOW}.dmp

# tambien volcar en texto plano, sql
su sbarrera -c '/usr/bin/pg_dump mibasededatos'  > /algun/lugar/backus/backup-${NOW}.sql
 


Saludos,

diego