Files
nextcloud-docs/admin_manual/maintenance/restore.rst
Joas Schilling a2b04b1f73 Add a warning for a correct restore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-12 10:44:24 +01:00

88 lines
2.3 KiB
ReStructuredText

===================
Restoring Nextcloud
===================
To restore a Nextcloud installation there are four main things you need to
restore:
#. The configuration directory
#. The data directory
#. The database
#. The theme directory
.. note:: You must have both the database and data directory. You cannot
complete restoration unless you have both of these.
When you have completed your restoration, see the ``Setting Strong Directory
Permissions`` section of :doc:`../installation/installation_wizard`.
Restore Folders
---------------
.. note:: This guide assumes that your previous backup is called
"nextcloud-dirbkp"
Simply copy your configuration and data folder (or even your whole Nextcloud
install and data folder) to your Nextcloud environment. You could use this command::
rsync -Aax nextcloud-dirbkp/ nextcloud/
Restore Database
----------------
Clean Database Before Restoring
===============================
.. warning:: Before restoring a backup you need to make sure to delete all existing database tables.
The easiest way to do this is to drop and recreate the database.
SQLite does this automatically.
MySQL
^^^^^
MySQL is the recommended database engine. To restore MySQL::
mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud"
mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud"
If you use UTF8 with multibyte support (e.g. for emoijs in filenames), use::
mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud"
mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
PostgreSQL
^^^^^^^^^^
::
PGPASSWORD="password" psql -h [server] -U [username] -d nextcloud -c "DROP DATABASE \"nextcloud\";"
PGPASSWORD="password" psql -h [server] -U [username] -d nextcloud -c "CREATE DATABASE \"nextcloud\";"
Restoring
=========
.. note:: This guide assumes that your previous backup is called
"nextcloud-sqlbkp.bak"
MySQL
^^^^^
MySQL is the recommended database engine. To restore MySQL::
mysql -h [server] -u [username] -p[password] [db_name] < nextcloud-sqlbkp.bak
SQLite
^^^^^^
::
rm data/owncloud.db
sqlite3 data/owncloud.db < nextcloud-sqlbkp.bak
PostgreSQL
^^^^^^^^^^
::
PGPASSWORD="password" pg_restore -c -d nextcloud -h [server] -U [username]
nextcloud-sqlbkp.bak