Es passiert leider häufig genug, dass ganz wesentliche Infos bei vielen Threads fehlen. Dabei weiß niemand außer Euch selbst, wie ihr eure Maschine(n) konfiguriert habt. Doch Informationen sind wesentlich für eventuelle Helfer.
Bitte beachtet beim Posten deshalb folgende kleine Hinweise - die erleichtern allen die Fehlersuche. Und sparen allen Zeit. Und auch Nerven
Bei welchen Anbieter? Was für ein Server? v-server, shared, root, usw. Oder Lokal?
Netcup, Webspace
Auf welcher Hardware? PC, Raspberry PI, Banana, NAS usw…
Webspace
Betriebssystem sowie Version ALLER beteiligten Systeme
ich betreibe eine Nextcloud über Netcup. Für meine Zwecke hat es bisher gereicht. Mir ist allerdings auch ein Backup lieb und ab hier fangen die Probleme an. Ich würde gerne die “Backup” App von Nextcloud nutzen (nur bräuchte ich dafür erstmal eine höhere Nextcloud Version).
Könntet ihr mir bitte helfen, wie ich ein Backup von meiner aktuellen Nextcloud-Instanz auf einem webspace anlege?
Im nächsten Schritt würde ich nämlich gerne ein Update der Nextcloud Version vollziehen und dazu wäre eine Sicherung schon hilfreich.
genau diese Anleitung habe ich gesehen und würde ich gerne umsetzen. Nur kann ich das per ssh auf einem webspace?
In einer anderen Anleitung wurde empfohlen den “data” und “config” Ordner der alten Nextcloud-Instanz zu sichern und in eine neue (aktualisierte) Nextcloud Instanz zu verschieben. Würden so auch die Ordnerstrukturen erhalten bleiben?
Ja, natürlich! Das ist der entscheidende Vorteil vom Webspace bei Netcup.
Mit der nachfolgenden beispielhaften Anleitung funktioniert bei mir das Backup und Restore perfekt. Bei einem fehlgeschlgenen Nextcloud-Update stelle ich nur die Nextcloud-Dateien wieder her. Nur in absolut seltenen Fällen muss die Nextcloud-Datenbank wiederhergestellt werden.
Anleitung für Backup und Restore von Nextcloud bei netcup
Bei Bedarf kann der Ordner data bei netcup sehr einfach über die Wiederherstellen-Funktion zurückgesichert werden,
daher wird das schnelle Backup ohne den data-Ordner durchgeführt.
Alternativ die Option --exclude "data" bei der Sicherung weglassen, jedoch dauert die Datensicherung dann sehr lange.
Eine weitere Alternative wäre, bei größeren Nextcloud-Instanzen, den Ordner "data" in ein separates Verzeichnis auszulagern.
Pfade der Nextcloud und der Backups zum Beispiel:
/httpdocs/nextcloud
/httpdocs/backup
********** Backup **********
Wartungsmodus der Nextcloud einschalten:
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --on
Komplettes Verzeichnis "nextcloud", außer dem Ordner "data" sichern:
tar --exclude "data" -cjpf ./httpdocs/backup/`date +%Y-%m-%d`_nextcloud.tar.bz2 ./httpdocs/nextcloud/
Datenbank sichern:
mysqldump --single-transaction -h'IP-Adresse (intern)' -u'Benutzername' -p'Passwort' 'Datenbankname' > /httpdocs/backup/`date +%Y-%m-%d`_nextcloud-sqlbkp.bak
Wartungsmodus der Nextcloud ausschalten:
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --off
********** Restore **********
Wartungsmodus der Nextcloud einschalten:
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --on
Sicherung wiederherstellen (Datum der Datei einfügen):
tar -xf httpdocs/backup/####-##-##_nextcloud.tar.bz2 -C ./
Datenbank wiederherstellen (Datum der Datei einfügen):
***** Optional *****
mysql -h'IP-Adresse (intern)' -u'Benutzername' -p'Passwort' -e "DROP DATABASE 'Datenbankname'"
mysql -h'IP-Adresse (intern)' -u'Benutzername' -p'Passwort' -e "CREATE DATABASE 'Datenbankname' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
***** Optional Ende *****
mysql -h'IP-Adresse (intern)' -u'Benutzername' -p'Passwort' 'Datenbankname' < /httpdocs/backup/####-##-##_nextcloud-sqlbkp.bak
Wartungsmodus der Nextcloud ausschalten:
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --off
Systemdatenfingerabdruck nach der Wiederherstellung einer Sicherung aktualisieren
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:data-fingerprint
Ergänzung:
Der rsync Befehl würde um ein Vielfaches schneller gehen, jedoch ist dieser Befehl im Webspace nicht gestattet.
danke sehr. wenn ich das recht sehe, dann soll ich mich per ssh auf den webspace schalten und dann direkt von dort aus “php…” ausführen? Sicherst du dir dann das “/backup” auf den Rechner oder verbleibt das auf dem Webspace?
für rsync alternative auf Netcup wird scheinbar das hier empfohlen. ich verstehe allerdings nicht wie es funktionieren sollte oder wie das mittels git funktionieren sollte.
Schau Dir einmal die verschiedenen Optionen von rsync an und vergleiche es mit git. Ich glaube hier wird von verschiedenen Dingen geredet.
Wichtig für ein ordentliches Backup der Nextcloud ist, dass man eine Wiederherstellung machen kann in welcher auch alle Dateiberechtigungen wieder am alten Ort sind.
Ich habe meine Backups mit einer kompletten Wiederherstellung der Nextcloud getestet und es war danach so, als wäre nie etwas geschehen.
php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --on
Your data directory is invalid
Ensure there is a file called ".ocdata" in the root of the data directory.
Cannot create "data" directory
This can usually be fixed by giving the webserver write access to the root directory. See https://docs.nextcloud.com/server/22/go.php?to=admin-dir_permissions
An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /httpdocs/nextcloud/lib/private/Console/Application.php:162
Stack trace:
#0 /httpdocs/nextcloud/console.php(98): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#1 /httpdocs/nextcloud/occ(11): require_once('/httpdocs/nextc...')
Wie löse ich das am besten auf?
ssh-zugriff ist eingestellt auf /bin/bash (chrooted)
Sofern du eine aktuell laufende Nextcloud hast, wirst du ein data-Verzeichnis haben, denn sonst würde sie gar nicht laufen. Hierauf muss der Webserver-Benutzer und in deinem Fall aufgrund eingeschränkter Netcup-Berechtigungen (bei Webspace) wahrscheinlich dein Benutzer Zugriff haben.
Such doch erst mal den data-Ordner. find . -name "data"
Es ist wahrscheinlich /httpdocs/nextcloud/data. Dort muss es eine .ocdata-Datei geben. Wenn nicht, leg sie an. touch /httpdocs/nextcloud/data/.ocdata
(verwende den korrekten Pfad)
Ich empfehle dir dringend dein Linux-Wissen zu verbessern. Falls du wichtige Daten in deiner Nextcloud speichern willst, besorge dir vielleicht besser eine Managed Nextcloud z. B. Storage Share von Hetzner um nur ein Beispiel zu nennen. Da sparst du dir den ganzen Ärger. Backups musst du trotzdem machen. Oder du suchst dir eine Managed Nextcloud inkl. Backup.
danke sehr. ich habe noch eine alte Nextcloud Version und möchte diese sehr gerne Update. Deshalb diese Backup-Frage, damit beim Update nichts schief gehen wird.
Eine Internet-Anleitung für Updates empfahl ich solle die data + config speichern und ansonsten einfach ein neues Nextcloud auf den ftp hochladen. Ist diese Vorgehensweise empfehlenswert oder sollte ich lieber über ssh commands updaten? Sobald mal das Backup steht.
danke für den Tipp mit Manged Nextcloud. Ich würde es ja gerne lernen, deshalb nutze ich euer Forum und euer Wissen. Ich habe schlicht eine zu alte Nextcloud Version (weil ich eben zu lange mit Updates gewartet habe) und stoße daher auf diese Fehler, meiner Meinung nach. Ich bin eher mit Mac OS/Windows produktiv unterwegs, weniger mit Linux. Daher auch mein geringes Linux-Wissen.
wie kann ich diesen code hinterlegen?
mittels euch, chatgpt hab ich tatsächlich 1 Durchlauf backup hinbekommen werde nochmal die aktuellere code-variante angeben, damit du ggf. den Backup-Code oben aktualisieren kannst.
Diese Einstellungen musst Du im Webhostingcontrolpanel (WCP) unter dem Punkt “PHP” tätigen. Dann gibt es noch die Apache-Einstellungen. Dort musst Du unter “Zusätzliche Header” noch fden folgenden Wert eintragen.
Hallo Zusammen,
besten Dank für diesen Post. Anhand dessen konnte ich jetzt so ziemlich erfolgreich von Strato zu Netcup mit der Nextcloud umziehen. Vor dem Umzug hat alles funktioniert und ich habe auf dem alten System noch alles auf den neusten Stand gebracht, bevor ich nach eurem Austausch und den Tipps von Crashandy vorgegangen bin. Dafür nochmals einen besonderen Dank!
Bei /occ maintenance:repair bekomme ich allerdings noch Fehler ausgeworfen:
An unhandled exception has been thrown:
Error: Failed opening required ‘/httpdocs/cloud.xxxxx.xx/3rdparty/symfony/string/Resources/data/wcswidth_table_zero.php’ (include_path=‘/httpdocs/cloud.xxxxx.xx/3rdparty/pear/archive_tar:/httpdocs/cloud.xxxxx.xx/3rdparty/pear/console_getopt:/httpdocs/cloud.xxxxx.xx/3rdparty/pear/pear-core-minimal/src:/httpdocs/cloud.xxxxx.xx/3rdparty/pear/pear_exception:/httpdocs/cloud.xxxxx.xx/apps’) in /httpdocs/cloud.xxxxx.xx/3rdparty/symfony/string/AbstractUnicodeString.php:562
Hat das jemand von euch vielleicht auch schon gehabt oder eine Idee wie ich das auch noch gefixt bekomme?
Schau mal ob die Datei existiert und von deinem Webserver-Account gelesen werden kann: /httpdocs/cloud.xxxxx.xx/3rdparty/symfony/string/Resources/data/wcswidth_table_zero.php