Backups & Restore
Backups & Restore
A snapshot is a point-in-time copy of the database and, optionally, the uploaded files. The Snapshot module takes them on a schedule, checks they are healthy, keeps them as long as you choose and restores them when needed.
Set up scheduled snapshots
- Open System → Snapshots (
/admin/system/snapshot). - Choose what to include: the database only, or the database and uploaded files.
- Set a schedule (daily is a sensible minimum) and a retention period.
- Choose the storage disk. Off-server storage such as S3 or Cloudflare R2 protects you if the server itself is lost.
- Take a manual snapshot now and confirm it appears with a healthy status.
Before risky work
Take a manual snapshot before any large import, bulk edit, module update or migration. It takes a minute beforehand and is the difference between a mistake and a disaster. The update screen offers one automatically.
Restore safely
- Take a snapshot of the current state first. You may need to come back to it.
- Choose the snapshot and check its date and health.
- Restore.
- Verify: recent orders, stock, settings, and that people can sign in.
Restoring replaces current data. Everything since the snapshot is gone — orders, payments, stock movements, messages. A single bad edit is usually better fixed directly than by discarding every legitimate change made since.
Test your restores
A backup you have never restored is a hypothesis. Restore into a separate environment on a schedule — monthly is a good habit — and record the result.
Recovery targets
| Store size | Data you can afford to lose | Suggested schedule |
|---|---|---|
| Small | Up to a day | Daily snapshot, 14–30 day retention |
| Growing | Up to an hour | Hourly database snapshot plus daily files |
| Large | Minutes | Database-level continuous archiving plus daily snapshots |

