FHEM Forum

FHEM => Sonstiges => Thema gestartet von: The-Holgi am 21 Oktober 2014, 20:25:03

Titel: Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 20:25:03
Hallo,
mir ist aufgefallen das, das fhem Database File auf über 500MB "gewachsen" ist.
Was wird darin gespeichert, ist die größe normal ?
Ein backup über das webinterface dauert auch ziemlich lange.

Gruß Holgi
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 21 Oktober 2014, 20:39:03
welches Database File meinst Du?
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 20:44:04
Hallo,
das aus dem backup. Wenn man das backup entpackt ist da unter anderen eine datei fhem, in Windows wird die Datei als Database File angezeigt.
Titel: Antw:Fhem database file
Beitrag von: Puschel74 am 21 Oktober 2014, 20:55:04
Hallo,

Vermutlich das FHEM-eigenen Logfile?
Dessen Inhalt kannst du dir bequem in FHEM links unter Logfile anzeigen lassen.

Grüße
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 21:00:39
Das kann aber doch nicht nach einem Jahr auf über 500MB anwachsen oder ?
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 21 Oktober 2014, 21:01:02
Zitat von: The-Holgi am 21 Oktober 2014, 20:44:04
Wenn man das backup entpackt ist da unter anderen eine datei fhem

Das ist keine Datei, sondern ein Verzeichnis. Und Windows ist bäh.
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 21 Oktober 2014, 21:01:24
Zitat von: The-Holgi am 21 Oktober 2014, 21:00:39
Das kann aber doch nicht nach einem Jahr auf über 500MB anwachsen oder ?

Doch, kann es völlig problemlos.
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 21:07:05
Hm, kann man da irgendwas einstellen das es nicht so groß wird ? Oder ältere Einträge löschen ?
Irgendwann ist meine SD Karte sonst voll.
Hab nochmal nachgesehen die dateiendung ist .db, also fhem.db.
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 21 Oktober 2014, 21:09:22
Fang doch mal von vorne an, Deine Konfiguration zu beschreiben und lass Dir nicht jeden Wurm einzeln aus der Nase ziehen!


Titel: Antw:Fhem database file
Beitrag von: Puschel74 am 21 Oktober 2014, 21:12:57
Viel Spaß betateilchen  ;D
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 21:18:46
Zu 1: Weiß nicht was DbLog ist, woran erkenne ich das. (werde ich aber nachlesen).
zu 2: Richtig, hab noch nie was gelöscht.
zu 3: Habe sehr oft die commandref gelesen, aber noch nie etwas über logfiles.

Danke für deine Geduld.


Edit: Den Eintrag habe ich in der fhem.cfg gefunden:
define myDbLog DbLog /opt/fhem/db.conf .*:.*
Denke also ich arbeite mit Dblog  ;)
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 21 Oktober 2014, 21:28:32
Zitat von: The-Holgi am 21 Oktober 2014, 21:18:46
Zu 1: Weiß nicht was DbLog ist, woran erkenne ich das. (werde ich aber nachlesen).

...

Edit: Den Eintrag habe ich in der fhem.cfg gefunden:
define myDbLog DbLog /opt/fhem/db.conf .*:.*
Denke also ich arbeite mit Dblog  ;)

Du gibts mir Kraft... Aber nachdem Du ja nun weißt, dass Du mit DbLog arbeitest, kannst Du in der commandref zu DbLog nachlesen, wie man alte Beiträge löscht :)
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 21 Oktober 2014, 21:32:54
Hab das hier gefunden:
set <name> userCommand <validSqlStatement>
Name wäre dann in meinem Fall einfach myDbLog ?
Ein Beispiel wäre nicht schlecht gewesen.

Edit: Das habe ich gerade ausgeführt: set myDbLog rereadcfg
Mit der Meldung: Rereadcfg executed.

Edit: Denke das war es: set myDbLog deleteOldDays 150
Bin mal gespannt wie groß die Datei jetzt ist.
Danke für die Hilfe
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 22 Oktober 2014, 17:36:57
Hallo,
das war wohl doch nicht das Richtige.
fhem.db hat sich laut Anzeige in Windows nicht verkleinert. Dafür ist die Datei fhem.db-wal von ein paar kb auf über 160MB angewachsen.
Das komplette backup Archiv ist jedoch um 2/3 kleiner geworden  :o
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 22 Oktober 2014, 18:53:32
denn sie wissen nicht, was sie tun...  :o

Beende mal Dein fhem und schau Dir an, wie groß die Datei fhem.db DANN wirklich ist. Das ist die einzig wirklich brauchbare Information.
Titel: Antw:Fhem database file
Beitrag von: AHA1805 am 22 Oktober 2014, 19:30:01
Hallo



Funktioniert der vacuum sqlite Befehl bei dblog nicht.

http://sqlite.org/lang_vacuum.html

Gruß Hannes


Gesendet von Tapatalk

Titel: Antw:Fhem database file
Beitrag von: betateilchen am 22 Oktober 2014, 19:36:43
Prinzipiell schon, das setzt aber voraus, dass von Zeit zu Zeit mal ein "set <dblog> reopen" ausgeführt wird, denn bei einer geöffneten Datenbank bewirkt auto_vacuum nicht wirklich eine Dateiverkleinerung.
Titel: Antw:Fhem database file
Beitrag von: The-Holgi am 22 Oktober 2014, 19:52:32
Zitat von: betateilchen am 22 Oktober 2014, 18:53:32
denn sie wissen nicht, was sie tun...  :o

Beende mal Dein fhem und schau Dir an, wie groß die Datei fhem.de DANN wirklich ist. Das ist die einzig wirklich brauchbare Information.
fhem.de ??? Habe fhem beendet und mit winscp unter opt/fhem nachgesehen. Die Datei fhem.db ist laut Anzeige 523MB groß. Also die gleiche größe wie sie auch in Windows im heruntergeladenen backup angezeigt wird.
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 22 Oktober 2014, 19:55:51
Zitat von: The-Holgi am 22 Oktober 2014, 19:52:32
fhem.de

Das war die Autokorrektur, sorry.
Titel: Antw:Fhem database file
Beitrag von: AHA1805 am 22 Oktober 2014, 22:58:00
Zitat von: betateilchen am 22 Oktober 2014, 19:36:43
Prinzipiell schon, das setzt aber voraus, dass von Zeit zu Zeit mal ein "set <dblog> reopen" ausgeführt wird, denn bei einer geöffneten Datenbank bewirkt auto_vacuum nicht wirklich eine Dateiverkleinerung.
Ich hatte eigentlich nicht auto_vacuum gemeint sondern den direkten Befehl vacuum,
Wie im link beschrieben.

Set myDBLog userCommand vacuum;

OT:
Kann man mit userCommand jeden beliebigen sql Befehl ausführen um evtl die Datenbank zu warten?

Gruß Hannes

Gesendet von Tapatalk
Titel: Antw:Fhem database file
Beitrag von: betateilchen am 23 Oktober 2014, 10:10:03
Frage an Radio Eriwan:
Zitat von: AHA1805 am 22 Oktober 2014, 22:58:00
Kann man mit userCommand jeden beliebigen sql Befehl ausführen um evtl die Datenbank zu warten?

Antwort von Radio Eriwan: Im Prinzip ja.