Backup ODOO [Local, Remote, Drive, Dropbox, Amazon S3]
by Hilar AK https://www.linkedin.com/in/hilar-ak/$ 29.49
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
Discuss (mail)
|
Lines of code | 1938 |
Technical Name |
auto_backup_odoo |
License | OPL-1 |
Website | https://www.linkedin.com/in/hilar-ak/ |
Versions | 10.0 12.0 11.0 9.0 8.0 14.0 17.0 13.0 16.0 15.0 |
BACKUP
ODOO DATABASES & FILESTORE
Available Odoo Backup DB/Filestore
Modes:
- Local
- Remote Server
- Google Drive
- Dropbox
- Amazon S3
- Custom Archive
- Plain Text SQL
- TAR Archive
- ZIP Archive
- Dump Including Filestore
Module For backup ODOO databases and
automating the backup process of ODOO.
- Multiple Backup Modes
- Filestore Backup
- Backup ODOO Databases in 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
- Backup to Amazon S3
Features
- Dump ODOO Database in specified format
- Zip filestore in a specified location
- The custom archive format is a flexible option for backing up a database with the intention of restoring it using pg_restore. This format allows for the reordering of data loading and object definitions, and is compressed by default using gzip. One advantage of using the custom archive format is that it allows the user to restore single objects from a backup, rather than having to restore the entire database. This can be useful if you only need to restore a specific object or if you want to selectively restore certain objects from the backup. To use the custom archive format, you will need to select it as the format for the database dump when setting up the backup process. The custom archive will be saved with a .gz extension, such as test.gz.
- 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.
- The tar archive format is another option for backing up a database with the intention of restoring it using pg_restore. This format allows for the reordering and exclusion of database objects at the time of restoration, and it is possible to limit which data is reloaded during the restore process. One advantage of using the tar archive format is that it allows for a greater level of control over the restoration process, as you can choose which objects to include or exclude from the restored database. To use the tar archive format, you will need to select it as the format for the database dump when setting up the backup process. The tar archive will be compressed using gzip to reduce the file size.
- Backup Filestore
- Multiple backup modes at sametime
- ODOO Backup to Amazon S3
- ODOO Backup to Google Drive
- ODOO Backup tp Dropbox
- ODOO Backup to remote server
Tech
Odoo Auto Backup Module uses
- PYTHON - Models
- XML - Views
- HTML - UI
- Twitter Bootstrap - UI
- backbone.js - Views
- jQuery
- PSQL - DB
External
Dependencies
- PYSFTP
pip install pysftp
- Dropbox
pip install dropbox
- Progress
Meter
pip install tqdm
- Boto3
pip install boto3
- Botocore
pip install botocore
Installation
To install the ODOO and Auto Backup module and
configure backup, you can follow these steps:
Install ODOO: Follow the installation instructions for
your operating system to install ODOO.
Configure backup: Go to the "General Settings" menu in
ODOO and configure the backup settings as desired.
Start the backup process: Once you have configured the
backup settings, the backup process will start according to the schedule you have set. You can view the backup
status and history in the Auto Backup menu.
CHANGELOGS
Date: 07/12/2020
- Performance Improvement
- Session Upload Trace For Dropbox Files > 150 mb
- Full Metadata Track In Message Logs
- Fix Dropbox Tar files upload
- Progress Meter In Logs
Date: 22/11/2020
- Amazon S3 Database Backup
- Amazon S3 Filestore Backup
Date: 25/12/2022
- GDRIVE Client Update: There has been an update to the GDRIVE client./li>
- New Format Named DUMP: A new format named DUMP has been added, which allows the user to get a backup with both the filestore and database dump zipped.
- Documentation: The documentation for the backup configuration views has been improved.
Todos
- Backup Dashboard
Author
Hilar AK
Git
Repository
Hilar AK
Configurations
Cron Job To Enable Automatic Backup
New Record
Records
Backup Modes
Local
Remote
Google Drive
Dropbox
Amazon S3
Installation Guide: Python Packages with pip and Virtual Environments
Installing Python Packages with pip
Python packages can be easily installed using pip, the package installer for Python. Follow the steps below to install packages using pip:
- Open your command-line interface (e.g., Terminal, Command Prompt).
- Check if pip is installed by running the following command: bash
#!/bin/bash $ pip --version
If pip is not installed, you can install it by following the official documentation athttps://pip.pypa.io/en/stable/installing/.
To install a package, use the following command:
$ pip install package\_name
Replace package_name with the name of the package you want to install.
Example: To install the pysftp, dropbox, tqdm, simplejson package, run:
$ pip install pysftp dropbox tqdm simplejson
You can install multiple packages by listing them with spaces:
$ pip install package1 package2 package3
To install a specific version of a package, use the following command:
$ pip install package\_name==version\_number
Replace version_number with the desired version of the package.
Example: To install version 2.2.0 of the numpy package, run:
$ pip install numpy==2.2.0
- If you don’t specify a version, pip will install the latest version available.
Installing Packages within a Virtual Environment
Using a virtual environment is a recommended practice to manage Python packages for specific projects. Follow the steps below to install packages within a virtual environment:
- Create a new virtual environment by running the following command:
$ python -m venv env\_name
Replace env_name with the desired name for your virtual environment.
Activate the virtual environment:
- On Windows:
$ .\env\_name\Scripts\activate
On macOS and Linux:
$ source env_name/bin/activate
Once the virtual environment is activated, use pip to install packages as described in the previous section. The packages will be installed within the virtual environment and won't interfere with other Python installations.
To deactivate the virtual environment, simply run the following command:
$ deactivate
- This will return you to your regular command-line environment.
Using virtual environments helps maintain clean and isolated environments for different projects, ensuring package dependencies are managed effectively.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedDidn't work
I couldn't get SFTP to work, kept coming with an error about the certificate. Dropbox never worked, never uploaded anything. I couldn't authenticate with Google because my site isn't in a public HTTPS domain. In sum, it didn't work. I got another free plugin and it worked right away with FTP (not SFTP).
Re: Didn't work
To address security considerations, my module is compatible with secured FTP (SFTP) and integrates proper certificates. Additionally, it supports Google authentication through a valid URL. If assistance is required for the setup, please don't hesitate to reach out for support.
Not clear enogh documentation
backup operation not the best way
Re: Not clear enogh documentation
Apologies for any inconvenience caused.
Regarding Google Drive integration, it's important to note that the documentation solely relies on Google for establishing connections and creating Google projects, client applications, and more. However, with the latest version, there is no longer a requirement for Google and Odoo dependency in the Drive integration.
Rest assured that my module includes comprehensive documentation from Odoo's perspective, covering all the essential aspects.
Thank you for choosing our product. If you have any further questions or concerns, please let us know.
Good support!
Good support, answered all my questions very quickly, totally recommended.
Sure, We can support to install in your server.
Dear htetmyomyintwin@gmail.com,
We can do free support for server installation and its packages for Automatic backup module.
Does this work with odoo 16 enterprise ? Can you install for me after I buy?
Please find the python packages installations for your Odoo server.
Your APP im Odoo hostet with Docker
Hello,
I run my Odoo and the database in Docker. Is this compatible with your app? If so, what dependencies does it have and what do I have to install on Docker