Migrer une instance Nextcloud vers un autre serveur
Sauvegarde
- Mettre le serveur en mode maintenance et arrêter le serveur web :
sudo -u www-data php occ maintenance:mode --on
sudo systemctl stop apache2
- Sauvegarder le dossier Nextcloud vers le nouveau serveur :
rsync -Aavx /var/www/nextcloud/ root@ip_new_server:/var/www/nextcloud-dirbkp_`date +"%Y%m%d"`/
- Sauvegarder la base de données vers le nouveau serveur :
mysqldump --single-transaction --default-character-set=utf8mb4 -h localhost -u root -pfourchettetraindifference nextcloud_db > /root/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
rsync -Aavx /root/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak root@ip_new_server:/root/
Restauration
- Créer la base de données :
mysql -h localhost -u root -pfourchettetraindifference -e "DROP DATABASE nextcloud_db"
mysql -h localhost -u root -pfourchettetraindifference -e "CREATE DATABASE nextcloud_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
- Restaurer la base de données :
mysql -h localhost -u root -pfourchettetraindifference nextcloud_db < nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
- Sortir du mode maintenance :
sudo -u www-data php occ maintenance:mode --off
Sources
https://docs.nextcloud.com/server/latest/admin_manual/maintenance/migrating.html
https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html
https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html