Backup — Nextcloud latest Administration Manual latest documentation

# Backup

To backup a Nextcloud installation there are four main things you need to retain:

1. The config folder

2. The data folder

3. The theme folder

4. The database

## Maintenance mode

`maintenance:mode` locks the sessions of logged-in users and prevents new logins in order to prevent inconsistencies of your data. You must run `occ` as the HTTP user, like this example on Ubuntu Linux:

    $ sudo -u www-data php occ maintenance:mode --on

You may also put your server into this mode by editing `config/config.php`. Change `"maintenance" => false` to `"maintenance" => true`:

    <?php

     "maintenance" => true,

Don’t forget to change it back to `false` when you are finished.

## Backup folders

Simply copy your config, data and theme folders (or even your whole Nextcloud install and data folder) to a place outside of your Nextcloud environment. You could use this command:

    rsync -Aavx nextcloud/ nextcloud-dirbkp_`date +"%Y%m%d"`/

## Backup database

Warning

Before restoring a backup see Restoring backup

### MySQL/MariaDB

MySQL or MariaDB, which is a drop-in MySQL replacement, is the recommended database engine. To backup MySQL/MariaDB:

    mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

If you use enabled MySQL/MariaDB 4-byte support (Enabling MySQL 4-byte support, needed for emoji), you will need to add `--default-character-set=utf8mb4` like this:

    mysqldump --single-transaction --default-character-set=utf8mb4 -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

### SQLite

    sqlite3 data/owncloud.db .dump > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

### PostgreSQL

    PGPASSWORD="password" pg_dump [db_name] -h [server] -U [username] -f nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

Read the Docs v: latest

Versions
  20
  21
  22
  stable
  latest

Downloads

On Read the Docs
  Project Home
  Builds