Por si les sirve, les envío la forma en como tengo los respaldos de mi base de 
datos + php (cli instalado)

----archivo en Cron.d/backup------
0 1,13 * * * postgres cd /var/www/sitio/docs; php -f cronDB.php > /dev/null 
--------------------------------

cuando se pone la opción -v del pg_dump el > /dev/null lo borra o se puede 
generar un log de la información en un archivo ">/RUTA/DEL/LOG/archivo.log" y 
así se almacena información de salida 1 sola vez. o con doble >> para que vaya 
sumando la información.

de antesala con postgres para que lo ejecute como usuario postgres y me salgo 
de bastantes chicharrones y que ejecute a la 1am y a la 1pm (13) diariamente.

dentro de la carpeta  /var/www/sitio/docs está el php que me saca de aprietos 
para poder generarlos con un formato de archivo específico(fechas o logs el que 
necesite) ya que no soy bueno con los Bash y si se alguito de php.

-------cronDB.php---------
<?php
exec("pg_dump -O -F c -b -v -Z 9 -f \"/RUTA/DEL/BACK/respaldo".date("Y-m-d-H-
i-s").".backup\" gestion_mora ")
?>
---------------------------------
la ruta entre comillas por si algo (espacios o caracteres raros) con los \"


Dentro del archivo de configuración pg_hba.conf que casi siempre está en 
"/etc/postgresql/8.3/main" la configuración de confianza para el mismo host 
debe 
estar en trust

-----------pg_hba.conf-----------
host    all         all         127.0.0.1/32          trust
-------------------------------------

Bajo el riezgo propio ya que esto es para intranets y no implica rigurosidad 
en la validación de usuarios en internet o redes inseguras.


On Miércoles 24 Junio 2009 11:12:17 Espartano escribió:
> 2009/6/24 Eveling Velásquez <lings...@yahoo.es>:
> >  Hola lista!!!
> > Tengo un problema con el comando pg_dump, cuando lo ejecuto desde el
> > cron, tengo un script que extrae la bd con ese comando, cuando lo ejecuto
> > manual, extrae correctamente lo que indico, pero cuando lo pongo en el
> > cron no hace nada. Por favor alguna ayuda
> > #!/bin/bash
> >  export PGUSER=usuario
> >  export PGPASSWORD=password
> >  pg_dump -h 127.0.0.1 -o -v -f /respaldo.backup -U $PGUSER nombre_bd
> >  unset PGUSER
> >  unset PGPASSWORD
> > De antemano gracias
> > Eveling Velasquez Solis
>
> Hace tiempo que no hago scripts de bash pero creo recordar que para
> ejecutar un comando no propio del sistema operativo lo hacia del
> siguiente modo:
>
> $(/PATH_COMPLETO_DEL_COMANDO/comando -h lolcalhot > /PATH/DE/MI/RESPALDO)
>
> Asi es, todo va dentro de parentesis anteponiendo el simbolo de dolar
> $ afuera del mismo parentesis.

-- 



Jaime Alberto Giraldo Jiménez
(spos...@gmail.com)

Responder a