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
welches Database File meinst Du?
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.
Hallo,
Vermutlich das FHEM-eigenen Logfile?
Dessen Inhalt kannst du dir bequem in FHEM links unter Logfile anzeigen lassen.
Grüße
Das kann aber doch nicht nach einem Jahr auf über 500MB anwachsen oder ?
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.
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.
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.
Fang doch mal von vorne an, Deine Konfiguration zu beschreiben und lass Dir nicht jeden Wurm einzeln aus der Nase ziehen!
- Du arbeitest mit DbLog?
- Du hast noch nie alte Datensätze aus dem Log gelöscht?
- Du hast noch nie die commandref gelesen?
Viel Spaß betateilchen ;D
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 ;)
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 :)
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
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
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.
Hallo
Funktioniert der vacuum sqlite Befehl bei dblog nicht.
http://sqlite.org/lang_vacuum.html
Gruß Hannes
Gesendet von Tapatalk
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.
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.
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
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.