[GENERAL] Problemas con la copia de seguridad PostgresSQL

2010-02-13 Thread 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  
_
¿Aún sin la última versión de Internet Explorer 8? ¡Actualízate gratis!
http://www.vivelive.com/internetexplorer8

Re: [GENERAL] Problemas con la copia de seguridad PostgresSQL

2010-02-13 Thread Diego Schulz
2010/2/13 sergio barrera xpbarr...@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: [GENERAL] Problemas con la copia de seguridad PostgresSQL

2010-02-13 Thread Diego Schulz
2010/2/13 sergio barrera xpbarr...@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