Problema: Es necesario realizar un respaldo total de todas las bases de datos que existen en una máquina. Estas bases de datos están sostenidas sobre PostgreSQL.
Solución:
- Acceder como root
- Habilitar el acceso en modo confianza (trust) para las conexiones locales. Para ello bastará editar el archivo pg_hba.conf , buscar la línea que se refiere a 127.0.0.1 y editarla para que quede como:
host all all 127.0.0.1/32 trust
Si no sabemos donde puede estar este archivo, lo podemos encontrar ejecutando:
find / | grep pg_hba.conf
lo que nos entregará la ruta completa hacia el archivo. - Reiniciar el servicio de PostgreSQL. Normalmente esto resulta con alguno de estos comandos:
service postgresql restart
o bién
/etc/init.d/postgresql restart
Eventualmente, dependiendo de la distribución de Linux usada, y del PostgreSQL instalado, el nombre del servicio puede variar. Ante la duda vayan a /etc/init.d y ejecuten un:
ls p*
lo que listará todas las opciones de servicios que empiecen con p. - Crear una ruta donde guardar los respaldos, por ejemplo una carpeta sql
mkdir sql - Cambiar a la carpeta recien creada
cd sql - Ejecutar el toxi-comando (en una sola línea):
psql -lt -U postgres | awk '{ print $1 }' | xargs -i pg_dump -h localhost -U postgres -cO -Ft -f `date +%Y%m%d%H%M%S`_{}.tar -d {}
Esto creará un archivo de extensión .tar con prefijo fecha_actual_ seguidi por el nombre de la base de datos.
Es recomendable que trás hacer el respaldo de la base de datos, restauren la línea del archivo pg_hba.conf que cambiaron a su estado anterior (posiblemente en vez de trust sea md5 o sameuser) y reinicien PostgreSQL (ver paso 3).
La restauración de estos archivos se hace con pg_restore, pero eso lo dejamos para otro día. Si su urgencia es mayor ejecuten el comando:
man pg_restore
o bién
pg_restore --help
Eso sería por el día de hoy. Que les vaya bonito.
1 comentario:
Para auqellos curiosos que además lean los comentarios les entrego el comando para restaurar las bases de datos:
pg_restore -U usuario -cO -F t -d basededatos archivo.tar
Publicar un comentario