Publicidad

miércoles, 4 de marzo de 2015

Restaurar Respaldo de Odoo desde Terminal (Archivos *.dump)

Creación y restauración de respaldo Odoo desde Terminal.


    Buenos días lectores, gracias por los comentarios y los correos, espero que este Blog los haya sacado de algún problema, hoy vengo con una entrada similar a una ya escrita en mi blog, respecto al tema de Respaldar y Restaurar bases de Odoo desde una terminal, pero ahora con algunos cambios importantes, como es ignorar tablas.

Creación del respaldo


         Parámetros:

  • -i

        -- ignore-version
        Se ignora la versión de la base de datos

  • -h

       -host
       Especifica el nombre del equipo en que corre el servidor.

  • -p

       -port
       Por defecto siempre usamos el puerto 5432 por el cual podemos acceder a PostgreSQL.

  • -U

       --username
       Usuario de Postgres para generar el backup, aqui debemos revisar el archivo .conf de Odoo, o podemos siempre utilizar el Usuario postgres que trae por defecto.


  • -F

       --format
       Seleccionar el Formato de salida.

  • -b

       --blobs
       Para incluir tablas muy extensas en el dump sin errores.

  • -v

       --verbose
       Permite crear los respaldos a detalle en el dump.

  • -f

       --file
       Enviar el respaldo a un Archivo X.dump

Ejemplo:

pg_dump -i -h localhost -p 5432 -U odoo -F c -b -v -f "/opt/odoo/backups/Odoo_Test.backup" Odoo_Test


Con el fragmento anterior creamos un archivo llamado "Odoo_Test.backup" en mi ruta /opt/odoo/backups, de la base de datos Odoo_Test.

Para excluir alguna tabla, como puede ser la tabla ir_attachment, que contiene los datos adjuntos que aumenta el tamaño de la Base de Datos, quedaría el siguiente código:

pg_dump -i -h localhost -p 5432 -U odoo -F c -b -v -f "/opt/odoo/backups/Odoo_Test.backup" Odoo_Test -T ir_attachment


Como vemos solo agregamos  -T y el nombre de la tabla.

Restauración de la Base de Datos

Para poder restaurar el archivo dump o backup, es necesario crear una Base de Datos en blanco utilizamos el comando:

sudo su postgres

Una vez dentro del prompt de Postgres ejecutamos el comando para la creacion de la Base:

createdb Odoo_Resturacion -O odoo

    createdb: Indicamos el nombre de la Base Nueva.
    -O: Indicamos el usuario postgres al que pertenecerá la Base que estamos creando en PostgreSQL se conoce como Owner (Propietario).

Una vez creada la Base de Datos, ejecutamos el siguiente fragmento de código, para comenzar con la Restauración:

pg_restore -i -h localhost -p 5432 -U odoo -d Odoo_Restauracion -v "/opt/odoo/bakcups/Odoo_Test.backup"

    -d: Base de Datos para restaurar la Información
    -v: Especificamos la ruta del Archivo de Respaldo.

Con esto iniciara la restauración de nuestra base de Datos.

3 comentarios:

  1. Hola, muy buenas!!

    Supongamos que tengo una copia de respaldo hecha con pg_dump. ¿Que pasaría sin intento restaurarla en una instalación Odoo que no tenga los mismo módulos que la instalación original? Supongo que daría error, ¿no?

    Si es así, ¿también tendría que guardarme el contenido de /opt/odoo cada vez que haga una actualización de la aplicación?

    Gracias por tu trabajo. Un saludo

    ResponderBorrar
    Respuestas
    1. Si, lo mas recomendable es respaldar 3 cosas, Base de Datos, Archivos Binarios (Filestore) y un respaldo de la instalacion.

      Saludos

      Borrar
  2. Hola buen día, yo tengo Odoo 10 corriendo en windows, se actualizo el sistema operativo y ahora me marca error para acceder a odoo pero abriendo el ejecutable me deja acceder pero no me permite hacer respaldo de la base de datos, me marca acceso denegado, esto podría ayudarme?

    ResponderBorrar