Backup¶
To backup an Nextcloud installation there are four main things you need to retain:
- The config folder
- The data folder
- The theme folder
- 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 -avx 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
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