Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group