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)