Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,090 of 9,090 pages
About the help in other languages
All help pages

Backups and restores

Back up a site so you can really restore it - what to back up (database, storage, settings), the commands per database engine, maintenance mode for consistency, a restore procedure and a restore test.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/website-creators/backups-and-restores.md

On this page

Backups and restores

This page is for website creators responsible for a site's data. A backup is the database and the files, taken at the same moment; a backup that was never restored is a hope, not a backup (10.9 Backups and restore).

Contents

  1. What to back up
  2. Taking a backup
  3. Restoring
  4. The restore test
  5. Retention

What to back up

PathWhy
the databaseall content, users, settings stored in the database
var/storage, var/<site>/storageuploaded images and files
settings/override, settings/siteaccessthe installation's settings (they contain passwords: keep backups private)
your own extensions and designsif they are not in a Git repository

Caches are regenerated and need no backup.

Taking a backup

  1. Maintenance mode on, so database and files agree:
Backups in the administration: a full site backup or the database and files, optionally encrypted
Backups in the administration: a full site backup or the database and files, optionally encrypted
php bin/php/maintenance.php on --message="Back soon" --until=30m --allow-admin --allow-root-user
  1. The database:

    EngineBackup
    SQLitesqlite3 var/storage/sqlite3/exponential.db ".backup '/backup/db.sqlite'"
    MySQL, MariaDBmysqldump --single-transaction -u USER -p DATABASE > /backup/db.sql
    PostgreSQLpg_dump -U USER -Fc DATABASE > /backup/db.dump
    MongoDBmongodump --uri="mongodb://USER@HOST/DATABASE" --out=/backup/mongo
  2. The files:

    tar czf /backup/files-$(date +%F).tar.gz var/storage settings/override settings/siteaccess
  3. Maintenance off: php bin/php/maintenance.php off --allow-root-user.

On SQLite (online backup) and MySQL with InnoDB the database backup alone is consistent without maintenance mode.

Restoring

  1. Maintenance on; under Velocity stop the server.

  2. Restore the database with the engine's tool and unpack the files; fix owner and mode.

  3. Clear every cache and regenerate autoloads:

    php bin/php/ezcache.php --clear-all --allow-root-user
    php bin/php/ezpgenerateautoloads.php -e
  4. Start Velocity, clear its response cache, maintenance off, open the front page and the administration.

The restore test

At least once, and after every major upgrade, restore a backup on another machine and check: the front page, a deep page, an image, a download, a login, a form. Write down how long it took; that is your recovery time.

Retention

Store backups away from the server, keep several generations (for example daily for a week, weekly for a month), and remember they contain personal data and passwords.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x