| Availability | 
                            
                             Odoo Online
                              Odoo.sh  On Premise | 
| Lines of code | 3255 | 
| Technical Name | 
                    database_ultimate_backup | 
| License | LGPL-3 | 
| Website | https://github.com/renelhs | 
| Versions | 16.0 17.0 18.0 19.0 | 
| Availability | 
                            
                             Odoo Online
                              Odoo.sh  On Premise | 
| Lines of code | 3255 | 
| Technical Name | 
                    database_ultimate_backup | 
| License | LGPL-3 | 
| Website | https://github.com/renelhs | 
| Versions | 16.0 17.0 18.0 19.0 | 
🚀 Database Ultimate Backup
Enterprise-Grade Backup Solution for Odoo 18.0
🎯 Overview
Database Ultimate Backup is a modern, enterprise-grade backup solution designed specifically for Odoo 18.0. It provides comprehensive database backup capabilities with support for multiple cloud storage providers, advanced retention policies, automated scheduling, and real-time monitoring.
Built with a modern architecture using async operations and the Strategy design pattern, this module delivers high performance, reliability, and extensibility for businesses of all sizes.
📸 Screenshots
 
        Backup Configuration Interface
 
        Real-time Backup Job Monitoring
 
        Multi-Provider Storage Configuration
✨ Key Features
☁️ Multi-Cloud Storage
- Local filesystem storage
- SFTP/SSH remote storage
- AWS S3 integration
- DigitalOcean Spaces
- Parallel uploads to multiple providers
🔄 Automated Backups
- Configurable cron scheduling
- Manual backup on-demand
- Multiple backup configurations
- ZIP or SQL dump formats
- Includes filestore in ZIP backups
🛡️ Reliability & Security
- MD5 integrity verification
- Server-side encryption (S3)
- SSH key authentication
- Two-tier access control (User/Admin)
- Secure credential storage
📊 Monitoring & Reporting
- Real-time job status tracking
- Success rate statistics
- Detailed execution logs
- Email notifications
- Storage usage monitoring
⚙️ Advanced Management
- Flexible retention policies
- Automated cleanup of old backups
- Custom filename templates
- Test mode for retention policies
- Provider connection testing
⚡ High Performance
- AsyncSSH for SFTP (15x faster than traditional methods)
- Concurrent multi-provider uploads
- S3 multipart uploads
- Efficient compression
- Optimized for large databases
💾 Supported Storage Providers
🗄️ Local Storage
Store backups on local filesystem or network-mounted drives
Best for: Quick local copies, NAS storage
🔐 SFTP Storage
Secure remote storage via SSH protocol with high-performance transfers
Best for: Remote servers, secure transfers
☁️ AWS S3
Amazon S3 with storage classes, encryption, and versioning support
Best for: Enterprise cloud storage, compliance
🌊 DigitalOcean Spaces
S3-compatible object storage with CDN integration
Best for: Cost-effective cloud storage
📦 Installation
Step 1: Install Python Dependencies
Install required Python packages in your Odoo environment:
For production servers:
Step 2: Install the Module
- Download and extract the module to your Odoo addons directory
- Restart your Odoo server
- Go to Apps → Update Apps List
- Search for "Database Ultimate Backup"
- Click the Install button
Step 3: Configure User Permissions
- Go to Settings → Users & Companies → Users
- Select a user and go to the "Database Backup" tab
- Assign the appropriate backup group:
                    - User - View backup configurations and jobs (read-only access)
- Administrator - Full access to create, modify, and execute backups, plus manage storage providers
 
🚀 Quick Start
1. Configure a Storage Provider
Navigate to Database Ultimate Backup → Storage Providers and create your first provider:
- Local Storage: Specify a directory path (e.g., /opt/odoo/backups)
- SFTP: Enter host, port, credentials, and remote directory
- AWS S3: Configure bucket name, region, and access keys
- DigitalOcean Spaces: Set up space name, region, and credentials
Use the Test Connection button to verify the provider is configured correctly.
2. Create a Backup Configuration
Go to Database Ultimate Backup → Backup Configurations → Create
- Give it a descriptive name (e.g., "Daily Production Backup")
- Select your backup format (ZIP recommended for full backups)
- Choose one or more storage providers
- Configure retention policy (e.g., keep last 7 backups)
- Enable email notifications if desired
3. Test Your Configuration
Before relying on automated backups:
- Click Test Providers to verify all providers are accessible
- Click Create Backup Now to perform a test backup
- Check Backup Jobs to monitor progress and verify success
- Confirm the backup file exists in your storage location(s)
4. Enable Automated Backups
The module includes a cron job that runs daily at 2:00 AM by default. To customize:
- Go to Settings → Technical → Automation → Scheduled Actions
- Search for "Database Ultimate Backup: Scheduled Backups"
- Adjust the schedule to your preference
All active backup configurations will run automatically according to the schedule.
📋 Features Comparison
| Feature | Database Ultimate Backup | Standard Backup Tools | 
|---|---|---|
| Multiple Storage Providers | ✅ Yes (4 providers) | ❌ Usually single provider | 
| Cloud Storage (S3, Spaces) | ✅ Built-in | ❌ Requires custom scripts | 
| Parallel Uploads | ✅ Yes | ❌ Sequential only | 
| Integrity Verification | ✅ MD5 checksums | ⚠️ Limited | 
| Automated Retention Policy | ✅ Count or time-based | ⚠️ Manual cleanup | 
| Email Notifications | ✅ Success/Failure alerts | ❌ Not included | 
| Job History & Monitoring | ✅ Full tracking | ⚠️ Limited logs | 
| Success Rate Statistics | ✅ Yes | ❌ Not available | 
| High-Performance SFTP | ✅ AsyncSSH (15x faster than traditional methods) | ⚠️ Standard libraries | 
| User-Friendly Interface | ✅ Modern Odoo 18 UI | ⚠️ Command-line only | 
🎓 Use Cases
Small Business
Configure local storage for daily backups, keep last 7 backups, and use email notifications to stay informed.
Growing Company
Set up SFTP to a remote backup server + local storage for redundancy. Retain backups for 30 days with automated cleanup.
Enterprise
Use AWS S3 with STANDARD_IA storage class for cost-effective long-term retention. Configure parallel uploads to S3 + DigitalOcean Spaces for geographic redundancy. Enable encryption and set up multiple backup configurations for different databases/environments.
Compliance Requirements
Meet data retention requirements with flexible retention policies. Verify backup integrity automatically. Store encrypted backups in geographically distributed locations. Maintain detailed audit logs of all backup operations.
🔧 Technical Specifications
Requirements
- Odoo Version: 18.0 (Community or Enterprise)
- Python Version: 3.10+
- Dependencies: asyncssh, boto3
- Disk Space: Varies based on database size and retention policy
Performance
- Small databases (<1GB): 1-5 minutes per backup
- Medium databases (1-10GB): 5-30 minutes per backup
- Large databases (>10GB): 30+ minutes per backup
- SFTP Performance: Up to 15x faster than traditional implementations
- Concurrent Uploads: All providers upload in parallel
Architecture
Built using modern software design patterns:
- Strategy Pattern: Easily extensible for new storage providers
- Async Operations: Non-blocking I/O for better performance
- Dependency Injection: Modular and testable code
- Separation of Concerns: Clean model/view/controller architecture
📚 Documentation & Support
Comprehensive documentation is included:
- README.md: Detailed setup guide, configuration reference, and troubleshooting
- Inline Help: Contextual help text on all fields and actions
- Code Comments: Well-documented code for developers
- Architecture Guide: Information for extending the module
🗺️ Roadmap
📦 New Storage Providers (v1.1.0)
- ☁️ Azure Blob Storage - Microsoft Azure cloud storage
- ☁️ Google Cloud Storage - Google Cloud Platform storage
Ready to Secure Your Data?
Install Database Ultimate Backup today and enjoy peace of mind with automated, verified, and reliable database backups.
⭐ Don't forget to rate this module if you find it useful! ⭐
Please log in to comment on this module