-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update README.md and include automatic restore to iobroker_startup.sh #56
Conversation
Correct the default value of LC_ALL
Integration of automatic restore of an iobroker backup file. It detects if /opt/iobroker contains a single file and if so if it contains a "backup.json" and restores it.
As https://docs.docker.com/engine/reference/builder/ says MAINTAINER instruction is deprecated. Switching to LABEL instruction.
apt-get upgrade -y shouldn't be used in a Dockerfile
Hi, MfG, |
Hi Andre,
erstmal ein gutes neues Jahr!
Also bei meinen Tests lief das ganze folgendermaßen ab:
- iobroker restore --> 10s
- iobroker startet ganz normal, die adapter sind aber alle rot.
- im Hintergrund werden jetzt automatisch alle Adapter mit den alten
Settings installiert, das dauert natürlich seine Zeit.
Der Restore dauert bei mir immer ca. 10s, kann aber wohl auch ein paar
Minuten dauern. Da ich aber davon ausgehe das einem das Bewusst ist wenn
man ein Restore macht denke ich nicht das es ein Problem ist. Könnte man
aber im Log noch schreiben.
Ich hab das im Script so erweitert das er den automatischen Restore nur
dann ausführt wenn nur eine einzige Datei im /opt/iobroker Verzeichnis
vorhanden ist. Zusätzlich wird noch gebrüft ob in dem Backupfile die Datei
" backup/backup.json" enthalten ist. Ist beides der Fall dann stellt er die
Basisinstallation wie bei einem Containerstart mit komplett leerem
/opt/iobroker Verzeichnis wieder her und führt anschließend den Restore
aus. Man muss es also schon mit Absicht machen. Beim manuellen Restore
denke ich immer an die Neulinge oder Leute ohne Docker/Linuxerfahrung die
damit nicht klar kommen. Beim manuellen wäre es dann einfacher sich bei ner
blanken installation den BackitUp Adapter zu installieren und den Restore
darüber auszuführen.
Bei mir hat der Restore bis jetzt immer ohne Probleme geklappt. Hab mir
dadurch auch den Reinstall beim Node Upgrade gespart, Backup rein und
Restore durchgeführt. Danach waren Node und Java auf der aktuellen Version.
Hier beschreibt simatec das Vorgehen, durch das Vorwort bin ich auf die
Idee gekommend das automatisch zu machen:
https://forum.iobroker.net/topic/27271/howto-iobroker-restore-unter-linux-durchf%C3%BChren/2
"2. manueller Restore mit den Terminal Befehlen"
MfG
Christian
Am Di., 31. Dez. 2019 um 18:11 Uhr schrieb Andre <notifications@github.com>:
… Hi,
ich gehe mit den Commits soweit mit, vielen Dank dafür!
Allerdings würde ich ungern einen automatischen Restore einbauen. Soweit
ich mich erinnere dauert der Restore unter Umständen sehr lange (zumindest
habe ich sowas mal im Forum gelesen). Das wäre für den Containerstart
ungünstig.
Wie sieht es denn mit der Zuverlässigkeit/ Fehleranfälligkeit aus? Ich
kann das leider nicht beurteilen da ich backup/ restore noch gar nicht
verwendet habe. :)
Meine Idee wäre das Backup automatisch in das entsprechende Verzeichnis zu
Verschieben und in der Logausgabe auf die manuelle Ausführung des
Restore-Befehls hin zu weisen. Also in etwa: "Backupfile gefunden, zur
Wiederherstellung folgende Schritte über die Kommandozeile ausführen...".
Wie sind deine Erfahrungen zum restore?
MfG,
André
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#56>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNPMW4DADEVGH26YW7HH6TQ3N4KZANCNFSM4J74GCCQ>
.
|
Hallo Christian, Danke für die Erläuterungen. Ich habe mal ein bisschen mit dem Backup rum gespielt. MfG, |
Hallo Christian, MfG, |
Hallo Andre,
gute Idee mit der Logausgabe! Gefällt mir echt gut. Ich teste mal ne Runde
ob bei mir auch alles läuft
Lass mich raten, es war die Datei ".npmrc"? Die hat mich auch Zeit gekostet
weil ich daran nicht gedacht habe das es auch unsichtbare gibt. Hab das
script getestet und es hat keinen Restore ausgeführt weil zwei Dateien drin
sind. Oder wenn keine drin war hat er gemeckert das es kein Backup sei. Die
Datei muss man auf jeden Fall extra löschen oder besser noch man wirft den
Ordner weg und macht ihn neu.
Gruß
Christian
Am Sa., 4. Jan. 2020 um 20:32 Uhr schrieb Andre <notifications@github.com>:
… Hallo Christian,
dir auch noch ein frohes Neues...
Danke für die Erläuterungen. Ich habe mal ein bisschen mit dem Backup rum
gespielt.
Werde auf jeden Fall die Logausgabe noch anpassen, damit wir dort einen
Hinweis haben, dass ioBroker nach dem Restore noch die Adapter
nachinstalliert...
Außerdem müssen wir schauen ob das mit der Prüfung auf eine einzige Datei
funktioniert. Ich hatte das bei mir erhöhen müssen. Hatte den Fall, dass
ich den Ordner mal über den FileManager der DS geleert habe und dann noch
eine versteckte Datei drin war. Seit dem prüfe ich auf Dateien < 3 :)
Vielleicht muss ich da nochmal die Bendingungen anpassen/ erweitern...
MfG,
André
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#56>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNPMW26IXDXLFPJN6N2TQTQ4DP4VANCNFSM4J74GCCQ>
.
|
Hallo Christian, MfG, |
Hallo Andre,
bei meinen Tests kam auch nichts negatives raus.
Du prüfst jetzt nur noch ob ein Backupfile im Verzeichnis ist wenn er keine
Installation findet oder? Ich blicke das mit dem wc -l nicht so ganz.
Quizfrage: Die " MaxListenersExceededWarning:" kommt immer mal wieder im
Containerlog, weißt du was damit anzufangen? Bin etwas überfragt.
Gruß
Christian
Logauszug:
host.ioBroker check instance "system.adapter.unifi.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.vis-hqwidgets.0" for host
"ioBroker"
host.ioBroker check instance "system.adapter.vis-jqui-mfd.0" for host
"ioBroker"
host.ioBroker check instance "system.adapter.vis-timeandweather.0" for host
"ioBroker"
host.ioBroker check instance "system.adapter.vis.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.web.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.xbox.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.yeelight-2.0" for host
"ioBroker"
host.ioBroker check instance "system.adapter.yr.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.lovelace.0" for host "ioBroker"
host.ioBroker check instance "system.adapter.iqontrol.0" for host "ioBroker"
(node:1704) MaxListenersExceededWarning: Possible EventEmitter memory leak
detected. 101 connect listeners added. Use emitter.setMaxListeners() to
increase limit
(node:1704) MaxListenersExceededWarning: Possible EventEmitter memory leak
detected. 101 connect listeners added. Use emitter.setMaxListeners() to
increase limit
(node:495) MaxListenersExceededWarning: Possible EventEmitter memory leak
detected. 101 connect listeners added. Use emitter.setMaxListeners() to
increase limit
Am Mo., 6. Jan. 2020 um 13:57 Uhr schrieb Andre <notifications@github.com>:
… Hallo Christian,
habe die Prüfung auf die Dateien nochmal angepasst. In meinem Test lief
das einwandfrei.
Die Änderungen sind auch schon in der neuen v4.0.3beta drin. Wenn ich
nichts negatives höre, dann mache ich daraus demnächst die neue 4.1 stable.
MfG,
André
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#56>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNPMW5WN43CXZWPZ7BXFMDQ4MTFHANCNFSM4J74GCCQ>
.
|
Hallo Christian, Die MayListeners Meldung kenne ich nicht. Sieht nach js-controller aus. Hast du mal google befragt? MfG, |
Correct the default value of LC_ALL