RE: Backup automático Postgresql 8.4

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Benjamín Garzón <benjagarzon(at)gmail(dot)com>, Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Backup automático Postgresql 8.4
Date: 2012-01-24 17:04:21
Message-ID: 294D3D02D5E18D42827B2ECFEADEB688231F485034@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Acá te dejo el script, solo te resta modificar la ruta de las variables que en él se utilizan:

Benjamín, no lo tomes a mal, pero cuando respondas envía a la lista. Recuerda que tu duda pudiera ser la de otros.

#!/bin/sh

PSQL=/usr/bin/psql
PATH_PGSQL=/opt
PG_DUMP=/usr/bin/pg_dump
FECHA=`/bin/date +%d_%m_%Y_%H_%M_%S`
PATH_BACKUP=$PATH_PGSQL/$FECHA
LOG_FILE=$PATH_BACKUP/"pgdump.log"

#Crear la carpeta donde se crearan los backups.
mkdir $PATH_BACKUP

#Obtener el listado de bases de datos
DATABASES=(`$PSQL --username postgres --command "SELECT datname FROM pg_database WHERE datname <> 'template0' AND datname <> 'template1' AND datname <> 'postgres';" --pset tuples_only --pset format=unaligned`)

for ITERATOR in ${DATABASES[*]}
do
TIMESTAMP=`/bin/date +'%Y-%m-%d %H:%M:%S'`
echo -e "${TIMESTAMP} LOG: Iniciando la generación del backup ${ITERATOR}.backup" >> $LOG_FILE
`$PG_DUMP --username postgres --format=c --verbose $ITERATOR --file $PATH_BACKUP/"${ITERATOR}.backup" >> $LOG_FILE 2>> $LOG_FILE`
TIMESTAMP=`/bin/date +'%Y-%m-%d %H:%M:%S'`
echo -e "${TIMESTAMP} LOG: ${ITERATOR}.backup generado satisfactoriamente" >> $LOG_FILE
done

Saludos, espero que te sirva.

De: Benjamín Garzón [mailto:benjagarzon(at)gmail(dot)com]
Enviado el: martes, 24 de enero de 2012 11:26:AM
Para: Lazaro Rubén García Martinez
Asunto: Re: [pgsql-es-ayuda] Backup automático Postgresql 8.4

Excelente idea, me podrías enviar el ejemplo por favor?
Muchas gracias!

2012/1/24 Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu<mailto:lgarciam(at)vnz(dot)uci(dot)cu>>
Si deseas utilizar como método de autenticación MD5 pudieras crear un fichero .pgpass dentro del directorio home del usuario que ejecutará el script, en otro caso, la autenticación debería ser de tipo trust.
Yo personalmente realizo backups con pgdump a unas bases de datos diariamente, desde una tarea programada ejecutada con el usuario postgres y la conexión a la base de datos es de tipo "local", con método de autenticación "trust".

Saludos.

De: pgsql-es-ayuda-owner(at)postgresql(dot)org<mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org> [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org<mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org>] En nombre de Benjamín Garzón
Enviado el: martes, 24 de enero de 2012 10:27:AM
Para: pgsql-es-ayuda(at)postgresql(dot)org<mailto:pgsql-es-ayuda(at)postgresql(dot)org>
Asunto: [pgsql-es-ayuda] Backup automático Postgresql 8.4

Estimados, buen día. Estoy intentando hacer un script .sh para hacer backups automáticos de una base que tengo en postgresql y no he llegado a buen rumbo, alguien tiene algún ejemplo?
El problema es que me pide el password de la base y no acepta vía script el envió del password.
Les agradezco si me pueden dar una mano.
Muchas gracias!

--
Benjamín Garzón

--
Benjamín Garzón

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2012-01-24 18:06:02 Re: [pgsql-es-ayuda] Sugerencias con procesos de cargas de archivos planos que ocasionarán inserciones actualizaciones y borrados
Previous Message Gilberto Castillo Martínez 2012-01-24 16:11:30 Re: versión 9.1