Backup Management
1. Backup Configuration
Each subscription can be configured with a backup server and retention policy.
Subscription Backup Fields
- Backup Server - Where backups are stored (Many2one, required for backups)
- Backup UUID - Identifier on the backup server (readonly, auto-generated)
- Backup State - Health indicator based on latest backup age
- Hourly Backup Count - Number of hourly backups to retain (default: 0 — disabled)
- Daily Backup Count - Number of daily backups to retain (default: 7)
- Weekly Backup Count - Weekly backups to retain (default: 2)
- Monthly Backup Count - Monthly backups to retain (default: 1)
- Keep Latest Backup - Minimum total backups to always keep (default: 7)
- Backup Lines - History of all backups with download/restore actions
- Backup Count - Total number of backups (computed)
Retention is pushed to the backup server
The four retention counters are sent to the backup server when the subscription is registered and whenever they change. The backup server — not the master — runs the rotation, so a line can disappear from the list once it falls outside the policy.
Backup States
- Normal: Latest backup is less than 1 day old
- Warning: Latest backup is 1-5 days old
- Danger: Latest backup is more than 5 days old
- Not Configured: No backup server assigned
2. Backup Lines
Each backup is recorded as a backup line with metadata.
Fields
- Subscription - Parent subscription
- Backup Server - Where this backup is stored
- Backup Name - Filename of the backup
- Backup Size - Size in MB
- Backup Remote Line UUID - Server-side identifier
- Create Date - When the backup was created
- Comment - User-provided note
Actions
| Action | Description |
|---|---|
| Download | Creates a temporary download link via the backup server |
| Restore | Opens the restore confirmation wizard |
3. Create Backup Wizard
Manually trigger a backup from the subscription form.
Fields
- Backup Format:
zip- Full backup including filestoredump- Database only (no filestore)
- Comment - Optional note describing the backup
4. Restore Backup Wizard
Restore a subscription database from an existing backup line.
Fields
- Neutralize Database - Wipe sensitive data after restore (available for Odoo 16+)
Restore Warning
Restoring a backup replaces the current database entirely. This action cannot be undone. An action log entry is created for audit purposes.
5. Restore Local Database Wizard
Restore from a local file upload or URL instead of an existing backup line.
Fields
- Source (Selection):
upload- Upload a backup file directly (limited to files under 1GB)url- Provide a direct download URL for larger files
- Backup File - Binary upload field (for upload source)
- Backup URL - Direct download URL (for URL source)
- File Name - Original filename
Supported Formats
Only .zip and .dump file extensions are accepted. The file is streamed to the server in 1MB chunks for efficiency.
6. Backups and Server Migration
A server migration uses the very same machinery: it asks the subscription's backup server for a zip backup tagged with a unique reference, then asks that server to restore the resulting line onto the newly provisioned target.
Consequences worth knowing:
- A subscription cannot be migrated unless it is registered on a backup server
- The migration backup line is an ordinary line and is subject to the server's retention rotation — if it is rotated away before the restore starts, the migration resets its backup step and a retry creates a fresh backup
- After a successful migration, the backup registration is moved to the target's default backup server (the old registration is cancelled and a new one created)