Skip to main content

RUBICON

Your Odoo instance holds the operational heart of your business, invoices, inventory positions, customer records, payroll. The single most-skipped element of UAE Odoo implementations is a proper backup and disaster recovery (DR) strategy. This article shows you exactly what to set up.

The Three Layers of Backup

Layer 1: Database Backups

The PostgreSQL database powering Odoo is the most critical asset. Daily automated database dumps stored off-server are non-negotiable. Standard schedule: every 24 hours, retained 30 days locally, with weekly snapshots retained 12 months.

Layer 2: Filestore Backups

Odoo stores attachments (PDFs, images, documents) in a filestore separate from the database. Filestore backups must run alongside database backups, having one without the other leads to broken document links on recovery. Same daily cadence as database backups.

Layer 3: Configuration Backups

Server configuration files, custom modules, integration credentials. Version-controlled in Git ideally. At minimum, snapshot-backed weekly.

Where to Store Backups

  • Off-server primary location, never store the only backup on the same machine as the database
  • UAE-local cloud (e.g., AWS Bahrain, Azure UAE, local provider), for data sovereignty and fast recovery
  • Secondary geographic location, for catastrophic regional failure scenarios
  • Encrypted at rest, non-negotiable for backups containing customer and employee data

Recovery Point Objective (RPO) and Recovery Time Objective (RTO)

Two metrics that define your DR posture:

  • RPO: How much data are you willing to lose? Daily backups = 24-hour RPO. Hourly snapshots = 1-hour RPO.
  • RTO: How fast must you be back online? Hours? A day? Multiple days?

For UAE SMEs, typical targets are 24-hour RPO and 4-8 hour RTO. For larger operations or e-commerce, 1-hour RPO and 1-hour RTO are realistic.

The DR Plan Document

A documented DR plan should specify:

  • Backup schedule and location
  • Who has access to the backup storage
  • Step-by-step recovery procedure
  • Decision tree for partial vs full recovery
  • Communication plan during a DR event
  • Frequency of DR drill (test restore)

The Test Restore

An untested backup is not a backup. At least quarterly, perform a test restore to a separate environment and verify the data is intact and the system is functional. The first time you discover your backups are corrupted should not be during a real outage.

Hosting Model Implications

HostingBackups Handled ByYour Responsibility
Odoo Online (Odoo SA managed)Odoo SAVerify retention; export periodic full backups
Odoo SH (Odoo’s PaaS)Odoo SAVerify retention; export periodic full backups
Self-hosted / partner-hostedYou / your partnerFull responsibility, set up, monitor, test

Common Mistakes

  • Trusting that “the server has RAID”, RAID protects against disk failure, not corruption, deletion, or ransomware
  • Storing backups on the same network as the production server
  • Encrypting backups but storing the encryption key on the same server
  • Never performing a test restore
  • Skipping filestore backup and only backing up the database
  • Backups failing silently, no monitoring alert when a backup job fails
Want your Odoo backup & DR strategy reviewed?

Free 30-minute resilience assessment.

Book a DR Assessment

Written by the Rubicon ERP & AI team
Rubicon is a UAE-based Odoo implementation partner and AI/computer-vision solutions provider, led by founder Rubin Vasveliya. We deliver ERP and AI vision deployments across the UAE and GCC. About Rubicon →

Leave a Reply

Your email address will not be published. Required fields are marked *