NEWS
Restore funktioniert nicht
-
Bin daran auch schon verzweifelt
-
Hallo zusammen,
versuche von einer Windows Installation auf eine Linux Installation zu portieren und scheitere auch an dem restore 0.
ThinkPad-T61:/opt/iobroker$ sudo iobroker restore 0 host.ThinkPad-T61 Using backup file 2019_11_25-23_00_38_backupiobroker.tar.gz host.ThinkPad-T61 Cannot extract from file "/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../backups/2019_11_25-23_00_38_backupiobroker.tar.gz" host.ThinkPad-T61 Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json"
Ich habe auf beiden Systemen den selben node js am laufen und auch ein update mit anschließendem upgrade self gemacht.
Auch habe ich es mit sudo versucht.
Ich scheitere immer wieder mit obiger Fehlermeldung.Kann mir jemand bitte helfen.
GELÖST: Musste ein fix nachinstallieren, da es den User iobroker nicht auf dem Linux-System gab:
curl -sL https://iobroker.net/fix.sh | bash -
LG
z
-
Habe das gleiche Problem.
Was ist zu tun?
root@iobroker:~# iobroker restore 0 host.iobroker Using backup file total_2019_11_25-02_00_10_backupiobroker.tar.gz host.iobroker Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json" iobroker controller daemon is not running host.iobroker OK. root@iobroker:~#
-
Bei mir funktioniert es ebenfalls nicht. Auch den Fix (curl -sL https://iobroker.net/fix.sh | bash -) drüber laufen zu lassen, brachte mir nichts.
Cannot extract from file "/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../backups/2020_03_29-14_00_46_backupiobroker.tar.gz"
Ist doch auch ein komplett falscher Ordner oder? Das File liegt bei mir in:
/opt/iobroker/backups/2020_03_29-14_00_46_backupiobroker.tar.gz
und wurde versucht per:
cd /opt/iobroker/ iobroker restore 0
bzw .
cd /opt/iobroker/ iobroker restore 2020_03_29-14_00_46_backupiobroker.tar.gz
aufzurufen. Keine Chance, habe es auch mit sudo und als root sowie einem anderen Backupfile versucht, immer der selbe Fehler.
Auch die Anleitung howto-iobroker-restore-unter-linux habe ich getestet, ohne Erfolg. Was nun? Jemand weitere Ideen?
-
@r0b1zZle
Zeige mal den Inhalt der Backupdatei -
Also ich habe heute gerade ein Restor durchgeführt, war zwar im Nachhinein nicht mal nötig, hat aber ohne Probleme funktioniert.
Da ich vergessen hatte mir die Einstellungen vom Backitup Adapter vorher zu sichern , wollte das restoren vom NAS nicht klappen, deshalb hab ichs einfach lokal gespeichert und mit dem Adapter ganz normal wiederhergestellt. Alle wie immer und ohne Probleme.@simatec
Könnte man vielleicht noch nach installierte Nodes von Node-Red auch noch mit ins Backup packen, denn ich vergesse immer gern meine Flows zu checken und wundere mich wenn das nicht läuft. Grund sind eben nachinstallierte Nodes wie "Amazon_Echo", die nach einem Restore fehlen. -
@simatec Ich bin ein Linux Newbie, daher habe ich einfach versucht das File folgendermaßen zu entpacken:
cd /opt/iobroker/backups tar xvzf 2020_03_29-14_00_46_backupiobroker.tar.gz/
Folgende Meldung kommt:
tar (child): 2020_03_29-14_00_46_backupiobroker.tar.gz/: Funktion read fehlgeschlagen: Ist ein Verzeichnis tar (child): Am Anfang des Mediums, beende jetzt. tar (child): Error is not recoverable: exiting now gzip: stdin: unexpected end of file tar: Child returned status 2 tar: Error is not recoverable: exiting now
Ist das File korrupt oder stelle ich mich einfach zu blöd an?
Das Backup habe ich mittels:cd /opt/iobroker ./iobroker backup
erstellt, die SD-Karte in meinen Windows-Rechner gepackt, den Drive mittels Paragon ExtFS for Windows gemounted und das tar.gz file auf dem PC lokal zwischengespeichert. Anschließend dann den Raspy formatiert, Raspbian neu drauf, IoBroker drauf installiert, den JS-Adapter installiert und ab dann versucht, das Backup zu restoren (ebenfalls die SD-Karte dann wieder am Windows-PC gemounted und die tar.gz in den backups Ordner kopiert).
-
@r0b1zZle
Schaue dir den Backup File mal unter Windows an. Beispiel 7zip ist da eine gute Möglichkeit -
@r0b1zZle
Was machst Du für seltsames Zeug?Eigentlich macht das alles der Adapter, entpackt wird auch nichts. Das sollte nur mal machen um zu sehen, ob das File überhaupt OK ist. Dann wenn Du Dich schon nicht mit Linux auskennst, mach ich auch nicht wirklich, dann entpackt man das einfach auf der Windows Kiste mit nem üblichen Zip Programm wie 7-ZIP oder so.
Ein Restor ist ebenfalls sehr einfach, IOBroker installieren, Backitup Adapter installieren, Backup in den Backups Ordner kopieren (unter Windows am einfachsten mit Filezilla) und dann im Adapter lokal wählen und das wars schon.
-
@simatec entpacke ich die tar.gz kommt eine .tar, wenn ich auch diese entpacke kommt ein Ordner "backup" mit einem Unterordner "files" und der "backup.json". In "files" gibt es drei Ordner: "0_userdata.0", "admin.0" und "web.0", die aus Windows-Sicht jedoch alle leer sind.
@Jan1 simatec hatte mich gefragt, ob ich ihm den Inhalt der tar.gz auflisten könnte. Das wollte ich machen, indem ich dieses Archiv einfach temporär entpacke und mit "ls" den Inhalt schön aufliste. Daher meine Versuche, das zu entpacken.
Den Backitup-Adapter kannte ich zum Zeitpunkt des Backups noch nicht, daher habe ich das Backup per ssh gemacht. Vorhin habe ich sowohl über den Backitup-Adapter als auch manuell per ssh versucht, das Backup wieder einzuspielen und bei beiden Varianten die gleiche Fehlermeldung erhalten.
Bevor ich heute den Raspy geplättet habe, konnte ich gestern auch nochmal per Hand exakt das selbe tar File als Backup per ssh auf die noch laufende iobroker Version einspielen (funktionierte wunderbar).
-
@r0b1zZle
Dann lasse mal vorm restore bitte den Installer Fix laufen.
Danach entweder über Konsole oder Backitup den Restore ausführen. Es gibt hier im Forum ein Howto zum Restore. -
@r0b1zZle
OK, wenn das ein manuell erstelltes Backup ist, weiß ich nicht ob das mit dem Adapter überhaupt zu restoren geht.
Das entpacken, wie geschrieben, ist unter Windows auch ganz normal möglich und muss nicht unter Linux gemacht werden. Da gings ja nur drum, ob der Inhalt passt und ob es beschädigt ist. Man kann das natürlich auch unter Linux machen, wenn man da aber nicht sicher ist, ist eben Windows einfacher. -
@simatec Du meinst das was ich oben als bereits gemacht aufgeführt habe?
curl -sL https://iobroker.net/fix.sh | bash -
und das howto zum Restore?
Update:
pi@raspberrypi4-iob:/opt/iobroker $ sudo apt-get update pi@raspberrypi4-iob:/opt/iobroker $ sudo apt-get install redis-server pi@raspberrypi4-iob:/opt/iobroker $ sudo usermod -a -G redis iobroker pi@raspberrypi4-iob:/opt/iobroker $ sudo reboot now pi@raspberrypi4-iob:/opt/iobroker $ iobroker stop pi@raspberrypi4-iob:/opt/iobroker $ curl -sL https://iobroker.net/fix.sh | bash - library: loaded Library version=2020-01-30 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2020-01-25 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://deb.nodesource.com/node_10.x buster InRelease Paketlisten werden gelesen... Fertig Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== pi@raspberrypi4-iob:/opt/iobroker $ sudo apt-get install htop Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig htop ist schon die neueste Version (2.2.0-1). 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 4 nicht aktualisiert. pi@raspberrypi4-iob:/opt/iobroker $ iobroker stop pi@raspberrypi4-iob:/opt/iobroker $ iobroker status iobroker is not running on this host. No iobroker host is running. Objects type: file States type: file pi@raspberrypi4-iob:/opt/iobroker $ iobroker restore 2020_02_27-19_30_02_backupiobroker host.raspberrypi4-iob Cannot extract from file "/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../backups/2020_02_27-19_30_02_backupiobroker.tar.gz" host.raspberrypi4-iob Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json" iobroker controller daemon is not running host.raspberrypi4-iob OK. (node:2349) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json' at Object.openSync (fs.js:443:3) at Object.readFileSync (fs.js:343:35) at BackupRestore.restoreAfterStop (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:566:23) at Daemon.daemon.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:846:22) at Daemon.emit (events.js:203:15) at Daemon._kill (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:246:14) at Daemon.stop (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:185:17) at tar.extract.err (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:848:20) (node:2349) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:2349) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
-
Gibt es irgendwie die Möglichkeit, wenigstens an die Scripte und Blocklys zu kommen?
-
@r0b1zZle
Lief dein System vorher mit redis? Wenn ja wie genau?
Object=redis/file=redis?Dann muss du zuerst das redis backup wiederherstellen und dann im Anschluss iobroker
-
@simatec Nein, es lief ohne redis
-
hmmm warum installierst du dann redis?
Mache mal bitte folgendes ...Lege das Backup mal in den Ordner Backups und führe folgendes aus
sudo chmod 777 /opt/iobroker/backups/* iobroker restore 0 iobroker start
-
@simatec Weil in der Anleitung folgendes stand:
*"Steht in Objects type und/oder States type "redis", müsst ihr zwingend auf dem neuen System den Redis Server installieren.
Steht hingehen bei beiden Typen "file", wird der Redis Server nicht benötigt.Solltet ihr keinen Zugriff mehr auf das alte System haben und ihr wisst nicht, was da vorher genau konfiguriert war, dann installiert auf jeden Fall den Redis-Server im Vorfeld."*
Das hatte ich auch bereits getestet, gleiches Problem:
pi@raspberrypi4-iob:~ $ iobroker stop pi@raspberrypi4-iob:~ $ sudo chmod 777 /opt/iobroker/backups/* pi@raspberrypi4-iob:~ $ iobroker restore 0 host.raspberrypi4-iob Using backup file 2020_03_29-14_00_46_backupiobroker.tar.gz host.raspberrypi4-iob Cannot extract from file "/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../backups/2020_03_29-14_00_46_backupiobroker.tar.gz" host.raspberrypi4-iob Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json" iobroker controller daemon is not running host.raspberrypi4-iob OK. (node:7864) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json' at Object.openSync (fs.js:443:3) at Object.readFileSync (fs.js:343:35) at BackupRestore.restoreAfterStop (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:566:23) at Daemon.daemon.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:846:22) at Daemon.emit (events.js:203:15) at Daemon._kill (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:246:14) at Daemon.stop (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:185:17) at tar.extract.err (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:848:20) (node:7864) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:7864) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
-
@r0b1zZle sagte in Restore funktioniert nicht:
Objects type: file
States type: fileJa lesen und auch das machen was da steht und bei DIr im LOg steht eben sehr deutlich 2x file
-
@r0b1zZle sagte in Restore funktioniert nicht:
@simatec Weil in der Anleitung folgendes stand:
"Steht in Objects type und/oder States type "redis", müsst ihr zwingend auf dem neuen System den Redis Server installieren.
Steht hingehen bei beiden Typen "file", wird der Redis Server nicht benötigt.
Solltet ihr keinen Zugriff mehr auf das alte System haben und ihr wisst nicht, was da vorher genau konfiguriert war, dann installiert auf jeden Fall den Redis-Server im Vorfeld."Du sagtest aber du hast vorher keinen Redis Server gehabt ...
Mal ne ganz andere Frage. Wie hast du iobroker installiert?
Das sieht nach einem generellen Problem aus, was durch eine falsche Installation auftreten kann.