Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Tu marca aqui mismo

Llega a miles de personas.

Publicidad

Mostrando las entradas con la etiqueta db. Mostrar todas las entradas
Mostrando las entradas con la etiqueta db. Mostrar todas las entradas

viernes, 27 de enero de 2017

Automatización de Respaldos de Bases de Datos Odoo desde Bash

Automatización de Respaldos en Odoo desde Bash



  1. Crear un Script (Backup-Script) en la Ruta /var/scripts/dump_db.sh
    #!/bin/sh    
    hostname='hostname'
    
    ##########################################
    ## Odoo Backup
    ## Respaldo de las Bases: odoodb1, odoob2
    ##########################################
    
    # Detener el Servicio de Odoo
    /etc/init.d/odoo-server stop
    
    # Dump DB (Backup de 2 Bases de Datos)
    for db in odoodb1 odoodb2
    do
      date='date +"%Y%m%d_%H%M%N"' # Respaldo con la fecha actual.
      filename="/var/pgdump/${hostname}_${db}_${date}.sql"
      pg_dump -E UTF-8 -p 5433 -F p -b -f $filename $db
      gzip $filename # Comprimiendo la Base de Datos
    done
    
    # Iniciando el servicio de Odoo nuevamente
    /etc/init.d/odoo-server start
    
    exit 0
    
  2. Script de Eliminación de los Backups, creamos un script en la ruta /var/scripts/housekeeping.sh (Solo borrara backups con una antiguedad de 30 dias para atras).
    #!/bin/sh
    path=/var/pgdump
    logfile=/var/log/$0
    
    rm -f $logfile
    for file in 'find /var/pgdump/ -mtime +30 -type f -name *.sql.gz'
    do
      echo "Borrando: " $file >> $logfile
      rm $file
    done
    
    exit 0 
  3. Programar la ejecucion de los scripts, modificamos el crontab en  /etc/crontab. La programación de los Backups se ejecutara a la 1 am y la limpieza de backups a las 5 am.
    # m h dom mon dow user  command
    0 1 * * * postgres /var/scripts/dump_db.sh
    0 5 * * * postgres /var/scripts/housekeeping.sh

Si queremos que nuestro Respaldo pese mucho menos podrĆ­amos comprimirlo con la librerĆ­a 7zip en lugar de gzip:



7zr a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on Mi_Backup.7z /path/to/database.dump


Nota: La detención del proceso de Odoo, puede variar dependiendo la instalación que hayan realizado, podría ser simplemente service odoo stop/start o podemos matar el proceso directamente con sudo fuser -k 8069/tcp.

lunes, 6 de enero de 2014

Realizar Respaldo y Restauración Base de Datos de OpenERP 7.0 desde Terminal o Linea de Comandos Utilizando PostgreSQL 9.1 y 9.2

Que tal muy buenas tardes en este tutorial explicaremos como poder realizar un backup o respaldo y restauracion de nuestra base de datos de openerp con postgresql. Antes que nada utilzaremos el comando pg_dump podemos informanos un poco mas en el siguiente enlace:

  http://www.postgresql.org/docs/9.1/static/app-pgdump.html

 Para realizar un respaldo o tambiĆ©n conocido como backup de nuestras base de datos de OpenERP mediante postgrest mediante terminal ejecutaremos el siguiente comando en donde especificaremos la base de datos a restaurar en este caso se nombro TMS, el usuario despues de la letra -U en este caso mi usuario de postgres relacionado con openerp se nombro durante mi instalacion como openerp70, en la letra -h definimos el servidor de nuestra instalacion de openerp en este caso ejecutamos el comando localmente asi que nuestro servidor local por defecto seria localhost, despues insertamos el puerto que utiliza nuestro servicio despues de la leta -p en este caso por defecto utiliza openerp el puerto 5432 y por ultimo especificamos la ruta donde guardara el archivo de restauracion de nuestra base de datos en este caso la ruta de utilizacion fue /opt/openerp y de ahĆ­ el nombre con el que se guardara nuestro respaldo en este caso el nombre utilizado es dbbackup tambien podemos aƱadir que se comprima nuestra base de datos agregandole -Z y un numero de compresion de archivos que va del rango 1 a 9, el numero 9 seria la compresion maxima de un archivo, al fina de la ruta solo se le agrega .gz a tu backup y listo!!!!

 En este caso lo realizare sin la compresion, quedando asi el siguiente comando: pg_dump TMS -Fp -U openerp70 -h localhost -p 5432 > /opt/openerp/dbbackup

  Nota: El comando pg_dump se ejecuta fuera del superusuario de postgres...