jueves, 31 de enero de 2008

Postgres: Realizar backup de BD

Aqui un procedimiento bastante sencillo que permite sacar Backup de la Base de Datos en Postgres, claro esta utilizando un script en Bash.

#!/bin/sh
#
echo "---------- Captura fecha -----------"
fecha=`date +%Y%m%d%H%M`
#
echo "-------- Borra si existiera --------"
rm -f /home/postgres/backup/bk1$fecha.tar
rm -f /home/postgres/backup/bk2$fecha.tar
echo "---------- Haciendo pg_dump --------"
pg_dump -Ft -b cm_pan > /home/postgres/backup/bk1$fecha.tar
pg_dump -Ft -b cargom > /home/postgres/backup/bk2$fecha.tar
#
gzip /home/postgres/backup/bk1$fecha.tar
gzip /home/postgres/backup/bk2$fecha.tar
#
echo "----------- Final -------------"

Como complemento se debe de colocar en el crontab del usuario postgres para que se ejecute tantas veces sea necesario y asi sacar los Backups varias veces al dia.

1 comentario:

Unknown dijo...

Marcelino, necesito hacer algo parecido a un "dump" y "restore" en PostgreSQL, pero que consiste específicamente en lo siguiente:
Necesito imitar el proceso de "detach" de una base de datos que se encuentra en un servidor, "mover" las carpetas que contienen ese Tablespace y luego hacer nuevamente un "attach" de ese tablespace en otro servidor. Lo que necesito especificamente es "copiar" o "mover" los archivos físicos, no sólo hacer un dump&restore de la estructura y datos. ¿Es esto posible? ¿Tienes una idea de cómo hacerlo?
Gracias.