Copias de seguridad de Odoo
Usando Postgresql
Atención: Este sistema tiene la desventaja de que no te copia los archivos binarios ( o sea las fotos).
Mediante el sistema del Odoo
El sistema que usa Odoo te copia la base de datos y los archivos binarios, por tanto es un sistema más completo.
Podemos hacer manualmente una copia de seguridad en /web/database/manager
Y recuperarla desde ahí
Si lo quieres hacer por código se puedes usar curl:
curl --silent -F "master_pwd=miclave" -F "name=odooDB" http://localhost:8069/web/database/drop | grep -q "Internal Server Error"
Y para crear una nueva base de datos partiendo de la copia de seguridad:
curl -F "master_pwd=miclave" -F "backup_file=@/home/pepe/odoo1DB_backup.zip" -F "copy=true" -F "name=odooDB" http://localhost:8069/web/database/restore
Si queremos hacer una copia de seguridad por código con los archivos binarios se puede hacer así:
# Crear usuario-------------------------
adduser pepe
sudo -u postgres psql
CREATE ROLE pepe superuser;
ALTER USER pepe WITH ENCRYPTED PASSWORD 'garcia';
ALTER ROLE pepe WITH LOGIN;
\q
su pepe
cd /home/pepe/
#Copia de seguridad------------------------
pg_dump -h localhost -p 5432 -U pepe -F c -b -f "/home/pepe/odoo.bak" odoo12
#Recuperar Copia
pg_restore -d odoo12 "/home/pepe/odoo.bak" -c -U pepe
Atención: Este sistema tiene la desventaja de que no te copia los archivos binarios ( o sea las fotos).
Mediante el sistema del Odoo
El sistema que usa Odoo te copia la base de datos y los archivos binarios, por tanto es un sistema más completo.
Podemos hacer manualmente una copia de seguridad en /web/database/manager
Y recuperarla desde ahí
Si lo quieres hacer por código se puedes usar curl:
curl --silent -F "master_pwd=miclave" -F "name=odooDB" http://localhost:8069/web/database/drop | grep -q "Internal Server Error"
Y para crear una nueva base de datos partiendo de la copia de seguridad:
curl -F "master_pwd=miclave" -F "backup_file=@/home/pepe/odoo1DB_backup.zip" -F "copy=true" -F "name=odooDB" http://localhost:8069/web/database/restore
Si queremos hacer una copia de seguridad por código con los archivos binarios se puede hacer así:
curl -X POST -F 'master_pwd=ADMIN_PASSWORD' -F 'name=DB_NAME' -F 'backup_format=zip' -o /backup_dir/back_up_filename.zip http://localhost:8069/web/database/backup