Automatic Backups

Backups that Travel to Your Terms

Overview


The Automatic Backup module for Odoo, developed by EQP Solutions, enables users to easily back up their database and filestore. With this module, users can effortlessly schedule routine backups and choose from various destinations. 

This module empowers you to establish a diverse array of servers, offering flexibility in creating distinct instances with varying credentials, providers, routes, and other parameters. Additionally, it supports the creation of multiple records, enabling you to set up various schedules, notification preferences, and other customized configurations.

Code Repository: https://github.com/EQP-Solutions/OdooAddons/tree/main/eqp_backup


Features


  1. Automated Backups: Streamline data protection with automated scheduling for database and filestore backups, ensuring critical information is safeguarded effortlessly.

  2. Multiple Destinations: Choose from diverse backup destinations, including local servers, SFTP, Google Drive, and Dropbox, offering users the flexibility to tailor their backup strategy.

  3. Enhanced Security: This module prioritizes the security of your Odoo instance. It ensures that the master password is not exposed in the database, safeguarding your sensitive information.

  4. Seamless Operation: The backup process is unaffected even if the db_list configuration parameter is deactivated. This feature empowers you to maintain the integrity of your databases, allowing seamless backup executions without compromising security.

  5. Configurable Email Notifications: Stay informed about backup processes with detailed email notifications. Users can configure alerts for both successful and failed backup events independently.

  6. Storage Optimization: Efficiently manage disk space by defining the quantity of retained backups, enabling the module to automatically maintain the specified number of the most recent backups.

  7. Flexible API Key Management: Enhance customization by allowing users to upload API keys either through a file upload or direct entry, providing a flexible authentication method.

  8. User-Friendly Interface: Navigate the backup process seamlessly with an intuitive and user-friendly interface, making data protection accessible to users of all expertise levels.

  9. Customizable Backup Strategy: Tailor the backup strategy to individual needs, ensuring a personalized approach to data protection and management within the Odoo environment.


Installation


To effortlessly install this module, simply:

  1. Download it and place it in your Odoo add-ons folder.

  2. Install the Python package requirements (dropbox, google-api-python-client, and paramiko).

    • Find the requirements.txt file inside the eqp_backup folder for easy installation of the required Python packages.

  3. Log in to your Odoo server.

  4. Navigate to the Apps menu.

  5. Activate debug mode, and update the list by clicking "Update Apps List".

  6. Install the module with a click on the "Install/Activate" button.

  7. Take advantage of the enhanced functionalities offered by the module !!!


Upgrade


Upgrading is a breeze:

  1. Download the module.

  2. Add it to your Odoo addons folder.

  3. Restart the server, and log in.

  4. Head to the Apps menu, then smoothly upgrade the module by clicking the "Upgrade" button.


Configuration


The configuration process is very intuitive: (After the installation process) Go to the Configuration section and scroll down until you find the “DB Backups” section. There, please configure your policies:

  1. Activate Local Functionality: Enable local backups for efficient data protection and storage on the local server.

  2. Activate SFTP Functionality: Enable SFTP server backups, allowing for secure and remote storage of backup data.

  3. Activate Google Drive Functionality: Enable Google Drive backups for seamless cloud-based storage and accessibility.

  4. Activate Dropbox Functionality: Enable Dropbox backups, providing an additional cloud-based backup destination for enhanced flexibility.

  5. Activate Success Email Notification: Enable email notifications for successful backup processes. Additional email addresses can be specified for success notifications, allowing customization beyond the responsible user.

    • Additional Email Addresses for Success Notifications: (Default notification goes to the responsible user, and additional emails can be added here if needed).

  6. Activate Failure Email Notification: Enable email notifications for failed backup processes. Additional email addresses can be specified for failure notifications, allowing customization beyond the responsible user.

    • Additional Email Addresses for Failure Notifications: (Default notification goes to the responsible user, and additional emails can be added here if needed).

  7. Database Management Master Password: To ensure the secure execution of automatic backups, authenticate by entering your Master Password. This crucial step validates the password, authenticates your credentials, and securely stores the hashed password for future use.


IMPORTANT INFORMATION!

  • If you do not know how to enable the Google Drive API, or generate the JSON Key Required for this kind of server please follow the detailed instructions on How to enable and grant access to the Google Drive API Instructive.

  • If you do not know how to enable a Dropbox App, or generate the Token Required for this kind of server please follow the detailed instructions on ​How to create a Dropbox App Instructive.



ScreenShots

Welcome to an engaging exploration of module functionalities through interactive animations. Dive into a dynamic experience as we showcase each feature of the module with small, animated snippets.
 

Configurations


Configure your module policies.



Local Servers


Create your custom Local Servers.


Local Records

Create your custom Local Records.



SFTP Servers

Create your custom SFTP Servers.



SFTP records

Create your custom SFTP Records.



Google Drive Servers


Create your custom Google Drive Servers.

IMPORTANT: If you do not know how to enable the Google Drive API, or generate the JSON Key Required for this kind of server please follow the detailed instructions on How to enable and grant access to the Google Drive API Instructive.



Google Drive Records


Create your custom Google Drive Records.



Dropbox Servers


Create your custom Dropbox Servers.

IMPORTANT: If you do not know how to enable a Dropbox App, or generate the Token Required for this kind of server please follow the detailed instructions on ​How to create a Dropbox App Instructive.



Dropbox Records


Create your custom Dropbox Records.


Record Execution Details


In the record form view, you'll encounter a section titled 'Execution Details.' Here, you'll find information about the most recent automated backup execution (not manual executions), including its outcome (success or failure), the timestamp of the execution, and additional execution details. This concise summary enables you to quickly review the latest execution result, as it updates with each execution. Furthermore, these execution details are included in email notifications (if enabled) in the event of a failed execution.



Record Pause Scenario


When you edit the configuration of a server, it enters a special scenario where it changes its state to "Not Confirmed" as soon as you click the edit button. At this point, all related records are also set to "Paused" and the related Crons will be deactivated. Once you have finished making the modifications to the server and confirmed the changes, the related records will return to the "Confirmed" state and the related Crons will be activated again.




Gratitude Section


I would like to express my sincere gratitude for taking the time to thoroughly review this module documentation document. I hope you found it helpful, detailed, and easy to understand. My ultimate goal was to provide you with a comprehensive understanding of how the module works, and I hope that it has accomplished precisely that.

Automatic Backups
EQP Solutions, Esteban Quevedo January 30, 2024
Share this post
Product Certificates
Streamlining Certificate Management