zur → Übersicht im Anwenderwiki
In den Cloud-Systemen sind bisher keine speziellen Funktionen integriert, die das automatisiert erledigen. Man muss deshalb die Aktionen manuell per Konsolenbefehlen durchführen. Nur für ein Datenbank-Backup gibt es eine noch experimentelle App.
Es gibt zunächst nur 3 Stellen, die gesichert werden müssen, was sich sehr einfach realisieren lässt:
Ggf. muss man noch die Konfiguration des Apache sichern, falls selbst geändert.
Probleme beim Restore können auftreten, wenn das Zielsystem nicht die gleichen Apps wie das Quellsystem unterstützt.
Siehe z.B.:
Quell-System: Ubuntu 16.04 + Apache2 + mySQL + PHP 7 + OwnCloud 9.1 (Installiert wie bei owncloud9)
Zuerst das System „schlafen“ legen:
# sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on # service apache2 stop
Dann in einem Verzeichnis (z.B. hier /home/backup) das Backup anlegen - ggf die Pfade/Namen dem eigenen System anpassen. Bei Anfrage dann das mySQL-Passwort des DB-Users root angeben - ist in der Regel nicht gesetzt, somit leer.
# mkdir -p /home/backup # tar -cvzf /home/backup/oc_config.tgz /var/www/owncloud/config # tar -cvzf /home/backup/oc_data.tgz /home/owncloud # mysqldump -u root -p owncloud > /home/backup/oc_mysql.dump
Zuletzt das System wieder aufwecken:
# service apache2 start # sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off
Ziel-System: Identisch zum Quell-System beim Backup - hier OwnCloud 9.1
Zuerst das System „schlafen“ legen:
# sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on # service apache2 stop
Danach aktuelle Verzeichnisse umbenennen/wegsichern und die tar-Archive auspacken.
# mv /var/www/owncloud/config /var/www/owncloud/config.old # mv /home/owncloud /home/owncloud.old # tar -xvzf /home/backup/oc_data.tgz -C / # tar -xvzf /home/backup/oc_config.tgz -C /
Optional: alte Datenbank sichern:
# mysqldump -u root -p owncloud > /home/backup/oc_mysql.dump.old
Dann Datenbank löschen und die Datenbank-Sicherung einspielen (Einen Befehl zum „Leeren“ kennt mySQL nicht). Die bisherigen Zugriffsrechte sollten dabei erhalten bleiben. Bei Anfrage dann das mySQL-Passwort des DB-Users root angeben - ist in der Regel nicht gesetzt, somit leer.
# mysqladmin -u root -p drop owncloud # mysqladmin -u root -p create owncloud # mysql -u root -p owncloud < /home/backup/oc_mysql.dump
Zuletzt das System aufwecken:
# service apache2 start # sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off
Quell-System: Ubuntu 16.04 + Apache2 + mySQL + PHP 7 + OwnCloud 9.1 (Installiert wie bei owncloud9) mit LDAPS und aktivierter Kalender-App
Ziel: Nextcloud 10.0 am selben Ubuntu-Server
Zuerst am Quell-System ein Backup der OwnCloud wie bei Punkt 1 durchführen.
Jetzt auf dem System zusätzlich die NextCloud installieren (wie bei → nextcloud10).
Zuerst das NextCloud-System „schlafen“ legen:
# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on # service apache2 stop
NextCloud-Verzeichnisse löschen, die OwnCloud-Archive auspacken und an die richtige Stelle zu NextCloud schieben:
# rm -r /var/www/nextcloud/config # tar -xvzf /home/backup/oc_config.tgz -C /home/backup # mv /home/backup/var/www/owncloud/config /var/www/nextcloud # rm -r /home/nextcloud # tar -xvzf /home/backup/oc_data.tgz -C /home/backup # mv /home/backup/home/owncloud /home/nextcloud
(Könnte man durch direktes Kopieren natürlich einfacher haben …)
Die Konfigurations-Datei /var/www/nextcloud/config/config.php
muss nun an folgenden Stellen editiert werden. Je nach Konfiguration sind jedoch weitere Stellen in der Datei zu ändern.
... 'datadirectory' => '/home/nextcloud', 'overwrite.cli.url' => 'http://oserver/nextcloud', 'dbname' => 'nextcloud', 'dbuser => 'nextadmin', 'dbpasswort' => '12345678', ...
Das 'dbtableprefix' muss nicht geändert werden, ebensowenig die memcache-Optionen.
Jetzt die Datenbank einspielen:
# mysqladmin -u root -p drop nextcloud # mysqladmin -u root -p create nextcloud # mysql -u root -p nextcloud < /home/backup/oc_mysql.dump
Zuletzt das NextCloud-System upgraden und aufwecken:
# service apache2 start # sudo -u www-data php /var/www/nextcloud/occ upgrade # sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Erstes Ergebnis für die NextCloud 10.0 bei meinem einfachen Testsystem: