From the admin UI
- Go to Admin > Backup and click Create Backup.
- Choose what to include:
- Database — a full SQL dump of every table (produced in pure PHP, no mysqldump needed).
- Files — a copy of Omeka's
files/directory (uploaded media, thumbnails, etc.). - API export — a JSON-LD snapshot of items, item sets, media, vocabularies, resource templates, sites, and more. Useful for human-readable archives or migrating to another platform.
- Click Create. The backup runs as a background job. A link to the job is shown in the success message — you can monitor its progress there.
- When complete the new backup appears in the backup list with its filename, size, and SHA-256 checksum.
From the command line
# Full backup (DB + files + API export)
php modules/Backup/bin/backup.php create
# Skip the API export
php modules/Backup/bin/backup.php create --no-api
# Database only
php modules/Backup/bin/backup.php create --no-files --no-api
# List all recorded backups
php modules/Backup/bin/backup.php list
# Delete backups beyond the configured retention limit
php modules/Backup/bin/backup.php cleanup
The script must be run as the same user that owns the Omeka files and backup directory (typically www-data or apache).
Downloading a backup
Click Download next to any complete backup in the list. The ZIP is streamed directly to your browser without loading it into PHP memory.
What's inside a backup ZIP
omeka-backup-YYYYMMDD-HHmmss-<token>.zip
├── db.sql # Full database dump
├── files/ # Omeka uploaded files
│ ├── original/
│ ├── thumbnails/
│ └── …
├── export/ # JSON-LD API snapshots
│ ├── items.json
│ ├── item_sets.json
│ ├── media.json
│ └── …
└── metadata.json # Module version, timestamp, included components