Problem: Bind existing database and directory into new NCP installation

Hallo,

frohes neues Jahr der tollen Gemeinde hier!!!
Ist ein echt tolles Projekt hier!!

Ich muss eine Neu-Installation für NCP vornehmen. Ich will meine existierende Datenbank und Datenverzeichnis in die neue Installation einbinden.
Gibt es dafür eine Anleitung? Auf Deutsch bevorzugt?
In welcher Reihenfolge muss ich

  • NCP installieren (als SD-Image von OwnYourBits)
  • … und aktivieren
  • mit nc-datadir zum bestehenden Datenverzeichnis verweisen
  • mit nc-restore das Backup einspielen?
  • was vergessen?

Obige Reihenfolge bringt mich in nc-datadir und nc-restore immer wieder auf eine Fehlermeldungen:

Running nc-datadir
{“reqId”:“pM0Je3zOPAYMouvN21zc”,“level”:2,“time”:“2022-01-01T13:17:48+00:00”,“remoteAddr”:"",“user”:"–",“app”:“no app in context”,“method”:"",“url”:"–",“message”:“Temporary directory /media/SSD/ncdata/tmp is not present or writable”,“userAgent”:"–",“version”:“22.2.2.0”}
Nextcloud is in maintenance mode - no apps have been loaded

Error reading data directory. Is NextCloud running and configured?
Done. Press any key…

Running nc-restore
check free space…
extracting backup file /home/pi/nextcloud-bkp_20211225_1640417597.tar…
restore files…
restore database…
No datadir found in backup
/media/SSD/ncdata not found. Resetting to /var/www/nextcloud/data
{“reqId”:“a6T2GYXSQm5hNUzdXRs2”,“level”:2,“time”:“2022-01-01T13:08:54+00:00”,“remoteAddr”:"",“user”:"–",“app”:“no app in context”,“method”:"",“url”:"–",“message”:“Temporary directory /media/SSD/ncdata/tmp is not present or writable”,“userAgent”:"–",“version”:“22.2.2.0”}
Dein Datenverzeichnis ist ungültig
Stelle sicher, dass eine Datei “.ocdata” im Wurzelverzeichnis des data-Verzeichnisses existiert.

Kann das “Daten”-Verzeichnis nicht erstellen
Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch https://docs.nextcloud.com/server/22/go.php?to=admin-dir_permissions

An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /var/www/nextcloud/lib/private/Console/Application.php:162
Stack trace:
#0 /var/www/nextcloud/console.php(98): OC\Console\Application->loadCommands()
#1 /var/www/nextcloud/occ(11): require_once(’/var/www/nextcl…’)
#2 {main}Cleanup…
Done. Press any key…

Dann auch Fehler im Web-Interface (…:443):

Dein Datenverzeichnis ist ungültig Stelle sicher, dass eine Datei “.ocdata” im Wurzelverzeichnis des data-Verzeichnisses existiert. Kann das “Daten”-Verzeichnis nicht erstellen Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch https://docs.nextcloud.com/server/22/go.php?to=admin-dir_permissions

Verzeichnis /media/SSD/ncdata existiert mit Owner www-data, darin auch die Datei .ocdata (0 bytes).

Ich kann auf die bestehende/alte NCP-Installation noch voll nutzen, aber die Raspbian-Installation ist an anderer Stelle nicht mehr brauchbar.

Bestehende Installation:
NC v22.2.2.0 / NCP v1.46.7
datadir: /media/SSD/ncdata
dbdir: /var/lib/mysql
PHP Zend v7.3.31
Raspbian GNU/Linux 10. 5.10.87-v7l+ (armv7l)
Hat schon jemand Erfahrung mit Bullseye nach dieser Anleitung?

System neu wie alt:
Raspberry4 4MB
SSD 500GB BTRFS per USB

Bin ich hier richtig? Oder sollte ich besser im Forum von NCP posten?
Danke für jede Hilfe

Marcus

Hi,

scheint, ich habe selbst ein Workaround gefunden.
Mein Ablauf:

  1. Backup in NCP erzeugt, auf externem Laufwerk ablegen.
  2. SD-Image von OwnYourBits) auf SD schreiben
  3. Für SSH Zugriff: Datei SSH in Wurzelverzeichnis von rootfs schreiben
  4. SD einlegen und booten
  5. Lokalisiung, Passwort etc. einstellen.
  6. externes Laufwerk einbinden
  7. ncp-datadir starten und Zielverzeichnis anlegen. Hierbei wird das Original-Verzeichnis umbenannt.
  8. ncp-restore aufrufen, da Backup-Datei mit Pfad eingeben - und starten!!
    Achtung: Während die Wiederherstellung der Datenbank läuft, die obige Umbenennung rückgängig machen!!!
    Das war’s!
    Jetzt wird nach dem Restore das Datenverzeichnis richtig erkannt.

Viel Erfolg jedem!

Grüße

1 Like

die einzige lösung die bei mir funktioniert hat, der tip mit 7. und 8. bzw. vor 8. kann man ruhig den zwischenschritt einfügen:

  1. ncp-datadir starten und Zielverzeichnis anlegen. Hierbei wird das Original-Verzeichnis umbenannt.
  2. datadir löschen
rm -r */media/USBdrive/ncdata*
  1. datadir aus backup von hand auf ordner kopieren
mv *backupsource* */media/USBdrive/ncdata*
  1. ncp-restore aufrufen