Re: [pgsql-es-ayuda] Respaldo automático de BD

From: Cesar Erices <caerices(at)gmail(dot)com>
To: Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>
Cc: Reynier Perez Mira <rperezm(at)uci(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Respaldo automático de BD
Date: 2009-01-30 15:38:18
Message-ID: 1cb5d9840901300738q3f7b8449o742dd55b9812dd01@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos días/tardes:

> Recién he instalado un servidor de PostgreSQL donde hosteó todas las BD que
>> ya contienen gran cantidad de datos. Como ya me pasó una vez que perdí todos
>> los datos y no quiero que me vuelva a suceder por inocente o por no
>> investigar necesito saber las posibles formas o SW para poder realizar un
>> respaldo de mis BD con todos sus datos.
>> A la espera de sus comentarios
>> Un saludo
>> Ing. Reynier Pérez Mira
>> Dirección Técnica IP
>> --
>> TIP 8: explain analyze es tu amigo
>>
>>
> Hola.
> Personalmente en linux tengo un archivo que se llama: /root/
> respaldarbase.sh, que contiene:
>
> #!/bin/bash
> pg_dump -Ft -UDBA |gzip -9 -> /respaldos/RespañdoDB"`date +%Y%m%d_%H%M`".gz
> at -f/root/respaldarbase.sh 21:00
> vacuumdb -afz -UDBA
> reindexdb -a -UDBA
>
>
> parq lanzarlo por primera vez use: at -f/root/respaldarbase.sh 21:00
>
> luego se solo se pone en cola para ejecutarse al dia siguiente a las 21:00.
>
> Yo tengo configurado PGDATABASE, para no incluirla en script, tambien podes
> definir PGUSER
>
> Espero te sirva.
>
> Saludos Fernando.
>
>
> --
> TIP 5: ¿Has leído nuestro extenso FAQ?
> http://www.postgresql.org/docs/faqs.FAQ.html
>

Además hace tiempo miguel angel envio lo siguiente

-----------------------------------
-----------------------------------

#!/bin/sh

# ******************************************** #
# ******** Variables para PostgreSQL ********* #
# ******************************************** #

export POSTGRESQL_MKDIR=`date +[%d_%m_%y]`
export POSTGRESQL_LOG=`date +[%d_%m_%y]%Hhrs_%Mmin`
export POSTGRESQL_HOME='/usr/local/pgsql'
export POSTGRESQL_RESP='/home/RespaldosBD'

# ******************************************** #
# ******* Variables para Multiprocesos ******* #
# ******************************************** #

export HOME_DATE=`date +[%d_%m_%y]%Hhrs_%Mmin`
export HOME_LOGS="/usr/local/procesos/Logs"

# ******************************************** #
# ****************** Run ********************* #
# ******************************************** #

echo "-- Checando Carpetas [ `date` ] --" > "$HOME_LOGS/Log$HOME_DATE"
# -- PostgreSQL -- #
if [ -e $POSTGRESQL_RESP ]
then
# -- Respaldo historico --
if [ ! -e $POSTGRESQL_RESP/$POSTGRESQL_MKDIR ]
then
mkdir $POSTGRESQL_RESP/$POSTGRESQL_MKDIR
fi
else
mkdir $POSTGRESQL_RESP
fi

echo "-- Respaldando Bases [ `date` ] --" >> "$HOME_LOGS/Log$HOME_DATE"
cd $POSTGRESQL_HOME/bin
for BASE in `./psql -c "SELECT datname FROM pg_database WHERE datname
NOT IN ('postgres', 'template0', 'template1') ORDER BY datname" -d
postgres -h localhost -U postgres | head -n -2 | tail -n +3 | cut -d ' '
-f 2`
do
echo "Respaldando $BASE" >> "$HOME_LOGS/Log$HOME_DATE"
./pg_dump -h localhost -U postgres $BASE >
$POSTGRESQL_RESP/$POSTGRESQL_MKDIR/$BASE-$POSTGRESQL_LOG.out
gzip $POSTGRESQL_RESP/$POSTGRESQL_MKDIR/$BASE-$POSTGRESQL_LOG.out
done
echo "-- Respaldos de Bases de Datos Finalizado --" >> "$HOME_LOGS/Log
$HOME_DATE"
# -- PostgreSQL -- #

echo " " >> "$HOME_LOGS/Log$HOME_DATE"
echo "Listo." >> "$HOME_LOGS/Log$HOME_DATE"

exit 0

-----------------------------------
-----------------------------------
Esto es para linux claro esta.
Para manejar el cron basta con poner el simple comando:
crontab -u #usuario" -e
Con esto modificaras el archivo para indicarle cuando respaldar y dentro
del mismo podrás poner la configuración de cuando disparar el script, un
ejemplo de ello sería:

# m h dom mon dow command
0 3 * * * /usr/local/procesos/Multiprocesos.sh

es para linux parece una buena opcion, en lo personal no lo he probado,
espero que te sirva

--
Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema

Santiago - Chile

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Moises Alberto Lindo Gutarra 2009-01-30 16:27:37 Re: Dudas de instalar PostgreSQL sobre Windows 2000 server
Previous Message yanguma 2009-01-30 15:37:59 Re: [pgsql-es-ayuda] Respaldo automático de BD