This question has been flagged

Hi Guys,

I am using Odoo 11 CE

I tried to backup and restore by database by PSQL dump.

Step1 : Backup my database named rck_test5

sudo pg_dump -U rck10 -h localhost -p 5432 rck_test5 > /odoo/backups/new

Step2: Created new db

createdb -O rck10 rck_test6

Step3: Restore the database

psql -U rck10 -d rck_test6 -f /odoo/backups/new

Everything works fine. But when restored, I am missing all icons and images attached.

I found that these files are stored in ./local/share/Odoo/filestore/dbname when we create or restore database from ui.

When we restore using UI, filestore is zipped and restored properly.

But when we want to restore a database that is more than 10 GB, it is adviced to use psql dump.

I tried setting data_dir path in odoo-server.conf. But it does not generate filestore.

I need to know how to backup and restore filestore using command line. (Reason : I get to see full log of what is happening when we restore a huge database)

Please guide how to

* Backup a filestore

* Restore a filestore

* Update path in ir_attachement.location

to set odoo to read the new filestore location. Please guide me

Avatar
Discard
Best Answer

BACKUP ODOO DATABASES & FILESTORE

Available Odoo Backup DB/Filestore Modes:

  • Local
  • Remote Server
  • Google Drive
  • Dropbox

Module For backup ODOO databases and automating the backup process of ODOO.

  • Multiple Backup Modes
  • Filestore Backup
  • Backup ODOO Databases in a specified path
  • Detailed Message Log
  • Backup Status Information and History
  • User can select the format to dump, either custom archive, plain text SQL or tar archive
  • Archive Backup Process
  • Repeat Missed Backup Process

Features

  • Dump ODOO Database in specified format [Plain SQL / Zip / Tar]
  • Zip filestore in a specified location [You can copy Filestore Backup to the filestore directory]
  • Output a custom archive suitable for input into pg_restore. This is the most flexible format in that it allows the reordering of loading data as well as to object definitions. This format is also compressed by default. Here we use gzip ie, test.gz, We also recommend you select Custom because Using the custom format you can restore single objects from a backup.
  • Output a plain-text SQL script file (the default). The plain text format is useful for very small databases with a minimal number of objects but other than that, it should be avoided.
  • Output a tar archive suitable for input into pg_restore. Using this archive format allows reordering and/or exclusion of database objects at the time the database is restored. It is also possible to limit which data is reloaded at restore time. we use tar with gzip
  • Backup Filestore
  • Multiple backup modes at the same time


About Restore: https://medium.com/@hilarak/odoo-database-backup-automatically-restore-using-psql-7aaf5db89f17 


Module Link: https://apps.odoo.com/apps/modules/13.0/auto_backup_odoo/


Video demonstration: https://youtu.be/7_tjsbOaJSQ

Avatar
Discard
Best Answer

Hello, did you manage to find a solution for your problem ?

Avatar
Discard
Author

No, I could backup/restore completely with file store, only with User interface.

All of a suddent i can't backup an odoo database.. with no reason and no relevant error, and if i perform backup and restore from pgadmin i dont get the filestore, can't event find the location of the filestore..

Author

can you still connect to your database through pg admin. If so you can restore your database with below commands.

I go in /var/lib/odoo, to find the filestore, however, i dont have .local/share/Odoo folders...

Author

You cannot view this location in UI navigate through terminal

i was not in root mode, im in the filestore location, basically i want to restore a database on another server.

Tell me if the bellow steps are wrong:

1. backup database from pgadmin, production server

2. restore database in pgadmin on a development server

3.copy filestore from production server to the dev server.

Author

You are right but we cannot copy the file store from ./local/share/ folder. I already tried that.

Author

For your information, only images and icons are stored in file store.

i was able to copy the db filestore from that location, into the same location on another server, however, cannot acces the database from UI..

Author

how did you copy the file store. Share command. In order to work database name and file store name should be exactly same.

1. sudo -su root

2. cd /var/lib/odoo.local/share/Odoo/filestore

3. cp -R dbname /opt/Downloads

( to give write/read/delete permissions on the folder Downloads :

sudo chmod -R ugo+rw /opt/downloads )

4. Copied the filestore from server1(downloads) to server2 (downloads) and on server 2, used the cp command to copy from downloads back to filestore location, and yes it had the same name.

To transfer files from linux server to my desktop i use a program called WinSCP.

I solved my backup issue. Yesterday, i created 2 tables in the database, directly from pgadmin. This was the issue because backup from UI is made based on some scripts...So.. advice, if you want to create new tables in the database, its best if you create them from Studio. Thank you for your time and answers.

Author

Hi Gagea, in my case file store is stored in ./local/share.. you say you have copied the files form var/lib..

Files are not created for me in that folder

how did you install odoo. I followed following link.

https://www.rosehosting.com/blog/install-odoo-11-on-ubuntu-16-04/

you also say we must create table from studio. Do you mean the UI?

Yes, the full path of my filestore is :

cd /var/lib/odoo/.local/share/Odoo/filestore , and you must be in root mode in able to see this location ( sudo -su root ).

I installed Odoo 11 from Odoo.com installation docs.

And when i say studio, yes, its from the UI, available on Odoo Enterprise.

Best Answer

hi,


first you go into your filestore directory, and existing directory copy and paste with new db name.

in your case,

  • now you first delete created automatically Filestore folder in directory.

    • cd  ./local/share/Odoo/filestore/

    • apply command ==>  sudo rm -R rck_test6

  • after  that copy existing filestore db and paste with new name.

    • sudo cp -R  rck_test5 rck_test6


    after restart your server and check, all icons and images are displayed same as old db.


I hope it will help you.


Thanks



Avatar
Discard
Author

Hi Sunny,

Thanks for your response, but I cannot copy or paste into ./local/share/Odoo/filestore/

Remove "rm" works but no other command works.

can you tried with "sudo" command?

Author

Tried that too, I don't get any errors.nothing can be copied from there. Some how odoo can write or copy when we take backup/restore from UI.

not sure, but it maybe comes from "web" module for backup via UI.

Author

My concern is it is ok to backup a small database using web UI. But can same be used for backing up a database that is large.

You can deal large database with this auto-backup module. https://apps.odoo.com/apps/modules/13.0/auto_backup_odoo/

But For filestore, we can do it by copying from the defined filestore location. This will be an extra feature and need to develop.

Best Answer

Hello,

Type following command in terminal:

sudo nautilus

The system will open a file directory with full access and then you can Backup/Restore a filestore.

Restart the server and you will get back all the files in the database.
 
I hope it will help you.

Thank you.

Avatar
Discard

You may do that on your private notebook or desktop computer. You do not use any desktop gui programs in a professional environment, sorry.