Files
nextcloud-docs/admin_manual/maintenance/restore.rst
Morris Jobke 2bc02b23f2 Improve sidebar headings
* remove term Nextcloud in headings - it only adds noise
* unify headings to have them grouped by wording (Upgrade ...)
* reduce the length of headings

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-14 18:22:41 -05:00

91 lines
2.5 KiB
ReStructuredText

================
Restoring Backup
================
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`.
Also make sure to run the :ref:`maintenance:data-fingerprint <maintenance_commands_label>` command
afterwards, to ensure your sync clients can recover from the restored backup.
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