User guide
How to use Automatic Database Backup, screen by screen.
Where it lives
Settings → Database Backup
| Menu | What it shows |
|---|---|
| Destinations | The backups you have configured, with the result of the last run. |
| History | Every attempt ever made, with size, duration and result. |
Both need Settings-level access, except that the read-only Backup: History Only group can see History.
The daily question
Settings → Database Backup → Destinations.
Each row shows Last Run and Last Result. A red row means the last attempt failed and there is no fresh copy of that database. Open it: a banner at the top of the form says so, and the Runs button leads to the server's own error message.
If every row is green and the dates are recent, you are backed up. That is the whole check, and it takes five seconds.
Running one by hand
Open a destination and press Back Up Now. Odoo asks for confirmation because a dump loads the server and, on a large database, takes minutes.
On success you get a notification with the filename and size. On failure the error is raised on screen rather than buried in a log — a manual run is a moment when you are watching, so you should see it.
Test Destination is the cheaper check: it confirms the folder is writable or that the SFTP credentials work, without dumping anything.
Reading the history
Settings → Database Backup → History
| Column | Means |
|---|---|
| Run At | When the attempt started. |
| Destination | Which configuration. |
| File | The name written. |
| Size (MB) | The finished file. |
| Duration (s) | How long it took. |
| Result | Success or failed. |
Failed runs are red and carry the server's message. Open one to read it in full.
The size graph
Switch to the graph view for backup size over time.
This is worth a minute a month. A steadily growing line is a healthy database. A sudden drop is the earliest warning you will get that something has gone wrong with the data itself — a table truncated by a bad import, a module uninstalled in anger, an integration that deleted more than it should. It shows up in the backup size days before anyone notices in the interface.
A sudden jump matters too, usually a runaway log or attachment table.
What happens each night
For every active destination, in order:
- Odoo dumps the database straight to the destination file.
- If Verify After Writing is on, the finished archive is re-opened, checked for corruption, and checked to contain a real dump.
- The run is recorded with its size and duration.
- On success only, backups older than the retention window are deleted.
- On failure, the alert email goes out and the next destination is attempted anyway.
When something fails
You get an email with the server's own message. The three causes that account for nearly everything:
- No space left on device — the disk is full. Free it or shorten retention.
- Permission denied — the folder's ownership no longer matches the user Odoo runs as. Usually follows a server rebuild.
- Authentication failed — the SFTP password changed.
Fix it and press Back Up Now rather than waiting for tonight. There is no fresh copy until one succeeds.
Restoring
This module does not restore, on purpose. See RESTORING.md for the commands — and for the quarterly test-restore routine, which is the only thing that actually proves your backups work.