Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
So wie ich das sehe, wird beim ersten Start der Parameter copy_database vom Plugin auf "False" gesetzt. Warum das so ist, ist mir ehrlich gesagt auch nicht klar. Das müsstest du aber in der plugin.yaml sehen. Ist auf False, oder?
Nimm mal die 2 Zeilen 409 und 410 aus dem __init__.py vom database plugin raus
stelle im plugin.yaml wieder auf True und dann paar Mal restarten
War mir bisher nie aufgefallen .
Aber Du hast recht. Plugin wurde automatisch auf 'False' gesetzt.
Mit Deinen Änderungen funktioniert's jetzt - zumindest, wie von mir gewollt.
Bei jedem SHNG Neustart generiert er eine aktuelle DB Kopie.
So wie ich das sehe, wird beim ersten Start der Parameter copy_database vom Plugin auf "False" gesetzt. Warum das so ist, ist mir ehrlich gesagt auch nicht klar. Das müsstest du aber in der plugin.yaml sehen. Ist auf False, oder?
Nimm mal die 2 Zeilen 409 und 410 aus dem __init__.py vom database plugin raus
Benenn doch mal die alte datei um und probiere nochmals
ändert nichts ...
Ich versteh's irgendwie nicht. Nicht mal das Löschen der Backup Datei bringt ihn dazu, nochmal eine neue Kopie zu erstellen.
Ich konnte heute (initial) einmal eine Kopie erstellen. Danach weder durch Neustart von SHNG noch durch reboot ...
Im LOG steht nichts, noch nicht einmal im DEBUG Modus.
Ich verstehe nicht, wann er eine Kopie macht und wann nicht
Ich dachte, damit macht er dann bei jedem Neustart eine (Sicherungs-) Kopie der Datenbank.
Macht er aber nicht ... :-(
Das funktioniert nur einmalig, danach führt er den Befehl nicht mehr aus. Stört ihn, dass dort schon eine Kopie liegt?
Oder wie könnte ich ihn dazu bringen, wöchentlich eine Kopie damit zu machen? Eine Idee?
Danke schon mal!
In meine Raspi Image (Links siehe oben) hab ich auch ein Backupscript drin, das zB knxd Config und vieles weitere sichert und in ein Archiv packt: https://github.com/smarthomeNG/ansib...etup_backup.sh
zigbee, etc. ist da nicht dabei, aber könnte ich bei Bedarf einbinden.
Danke auch nochmal dafür!
Ich habe mir das Backup Script jetzt mal geladen uns ausgeführt. Sieht ganz gut aus. Gibt es bei dem Backup keine Konflikte, wenn man die DB im laufenden Betrieb kopiert? Manuell hatte ich damit schon Probleme.
Kann ich das auch automatisch ausführen lassen (z.B. mit einem cronjob)? Da kommt ja am Anfang immer eine Abfrage ... sorry, evtl. ne doofe Frage :-/
Integration von ZigBee2MQTT inkl. Konfiguration und aller eingebundenen Devices wäre für mich persönlich hilfreich :-)
Zuletzt geändert von ooUrmeloo; 20.04.2024, 22:24.
Morgen versuch ich mal, die DB dann voll auf USB umzuziehen. Mal schauen, ob das dann besser läuft.
Hier nochmal kurze Rückmeldung:
Auch wenn mein USB Stick mit ntfs lief, klappt das ganze nach der Umstellung auf ext4 deutlich besser.
Ich habe jetzt die DB original auf dem Stick am laufen und damit jetzt keine websocket Probleme mehr o.ä..
Läuft zumindest jetzt seit einem halben Tag "stabil".
Und könntest bitte mal Zeile 395 wie folgt ändern: database_name = next((s for s in self._connect if s.startswith("database:")), None)
Im aktuellen Code funktioniert der Spaß nämlich nur, wenn in der plugin.yaml unter "connect" database:... der 1. Eintrag ist. UU. ist aber der erste Eintrag zB check_same_thread:true oder so und dann würde das Kopieren des Files definitiv auch nicht klappen.
Bzgl. 'copy_database' habe ich jetzt noch festgestellt, dass der 'copy_database_name' vor dem 'connect' stehen sollte (macht ja evtl. auch Sinn, da dann kopiert wird vor dem DB Start (?!?).
In der Reihenfolge läuft es bei mir jetzt stabil. Wenn das stimmt, könnte man das in der Doku ja evtl. noch ergänzen, dass die Reihenfolge wichtig ist.
Ich glaub, ich konnte das schon portieren irgendwie, weiß nicht mehr genau. Grund war eigentlich, die DB aufs NAS auszulagern, das quasi sowieso läuft, und dann kann man mit phpmyadmin die Datenbank gut verwalten. Direkt aufm Raspi würd ichs lassen.
Es wird ziemlich sicher am ntfs liegen, schau mal hier.. so out of the box geht das nicht. Würde es als ext4 formatieren und einbinden oder halt das hier machen: https://phoenixnap.com/kb/mount-ntfs-linux
ok ... ich hab den Stick auf ext4 umformatiert und die Datenwieder hin kopiert. Die DB Kopie auf USB scheint jetzt zu funktionieren.
Code:
2024-04-16 22:17:13 WARNING plugins.database Starting to copy SQLite3 database file from /usr/local/smarthome/var/db/smarthomeng.db to /media/usbstick/smarthomeng_backup.db
2024-04-16 22:17:15 WARNING plugins.database Finished copying SQLite3 database file
Morgen versuch ich mal, die DB dann voll auf USB umzuziehen. Mal schauen, ob das dann besser läuft.
Ich glaub, ich konnte das schon portieren irgendwie, weiß nicht mehr genau. Grund war eigentlich, die DB aufs NAS auszulagern, das quasi sowieso läuft, und dann kann man mit phpmyadmin die Datenbank gut verwalten. Direkt aufm Raspi würd ichs lassen.
Mysql macht eigentlich nur Sinn, wenn Du bereits einen Server mit Mysql für andere Zwecke laufen hast. ansonsten ist es nur eine Steigerung der Komplexität.
In meine Raspi Image (Links siehe oben) hab ich auch ein Backupscript drin, das zB knxd Config und vieles weitere sichert und in ein Archiv packt: https://github.com/smarthomeNG/ansib...etup_backup.sh
zigbee, etc. ist da nicht dabei, aber könnte ich bei Bedarf einbinden.
Danke, das schau ich mir an. Bisher mach ich nur ein regelmäßiges Backup der gesamten SD Karte mit 'dd' im laufenden Betrieb. Funktioniert bisher ganz gut.
Es wird ziemlich sicher am ntfs liegen, schau mal hier.. so out of the box geht das nicht. Würde es als ext4 formatieren und einbinden oder halt das hier machen: https://phoenixnap.com/kb/mount-ntfs-linux
Genau so hab ich den Stick eingebunden. Vielleicht mach ich mir aber dann doch mal den Aufwand und versuch's mit ext4. Vielleicht funkioniert dann auch die DB direkt auf USB besser.
OK, ja, war eh so zu erwarten, aber zumindest ist nun der Fehler mit dem Error abgefangen, werde das entsprechend einpflegen.
In meine Raspi Image (Links siehe oben) hab ich auch ein Backupscript drin, das zB knxd Config und vieles weitere sichert und in ein Archiv packt: https://github.com/smarthomeNG/ansib...etup_backup.sh
zigbee, etc. ist da nicht dabei, aber könnte ich bei Bedarf einbinden.
Es wird ziemlich sicher am ntfs liegen, schau mal hier.. so out of the box geht das nicht. Würde es als ext4 formatieren und einbinden oder halt das hier machen: https://phoenixnap.com/kb/mount-ntfs-linux
Änder mal in plugins/database/__init__.py die Zeile 407 ab, so dass statt self.logger.Error klein self.logger.error steht.
Und könntest bitte mal Zeile 395 wie folgt ändern: database_name = next((s for s in self._connect if s.startswith("database:")), None)
Im aktuellen Code funktioniert der Spaß nämlich nur, wenn in der plugin.yaml unter "connect" database:... der 1. Eintrag ist. UU. ist aber der erste Eintrag zB check_same_thread:true oder so und dann würde das Kopieren des Files definitiv auch nicht klappen.
doch schon mal probiert ...
Kopie auf USB klappt trotzdem nicht. Aber immerhin läuft das Plugin weiter (und stoppt nicht wie oben). Fehlermeldung:
Code:
2024-04-16 13:17:19 WARNING plugins.database Starting to copy SQLite3 database file from /usr/local/smarthome/var/db/smarthomeng.db to /media/usbstick/smarthomeng_backup.db
2024-04-16 13:17:20 ERROR plugins.database Error copying SQLite3 database file: [Errno 1] Operation not permitted
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: