fhem.db umziehen auf SSD bzw. USB Stick

Begonnen von jnewton957, 05 Juni 2022, 19:37:48

Vorheriges Thema - Nächstes Thema

jnewton957

Hallo,

meine fhem.db hat nun eine Größe von 4,8 GB erreicht und mir meine bisherige SD Karte mit der FHEM Installation "voll" gemacht. Ich hatte da schon mal andere Dateien gelöscht, hatte aber eben nicht viel/lange geholfen.

Nun kann in die fhem.db nicht mehr geschrieben werden. Ich verliere also die Historie und entsprechende logs.

Mir ist klar, dass ich an das Thema ran muss, suche aber nach einer ggf. schnelleren Zwischen-Lösung.

Ich habe einerseits eine 2 TB SSD HDD noch im Schrank und auch noch größere USB Sticks mit einem USB Hub am RASPI. Auf den USB Sticks landen die nächtlichen Backups.

Wie kann ich die fhem.db auf eine z.B. 64GB USB Stick umziehen, bis ich das Umfeld so angepasst habe, dass die fhem.db wieder deutlich kleiner wird bzw. nicht mehr so viel mit geloggt wird?


Danke für die Antwort(en)


FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

DS_Starter

Wie immer gibt es viele Wege.
Ich gehe davon aus, dass du eine SQLite hast ?

Du brauchst erstmal genügend zusätzlichen Platz auf einem gemouteten Stick oder SSD.
Dann könntest du einfach bei gestoppten ! FHEM das File fhem.db auf den gemounteten Speicher verschieben, die db-Config von DbLog entsprechend anpassen und wieder starten. Dann solltest du weiterarbeiten können wie bisher.

Ansonsten könntest du auch mit DbRep ein Backup mt "dumpSQLite" oder ein Export mit "exportToFile" anfertigen.
Danach im DbRep mit "sqlCmd DELETE FROM history;" alle Daten löschen. Nach einem "set ... vacuum" ist das File wieder klein.

Wenn du später deine Infrastruktur neu aufgebaut hast kannst du die exportierten Altdaten mit einem "importFromFile" im DbRep wieder einspielen.

Das nur mal ganz schnell als Anregung. Gibt sicherlich noch mehr Möglichkeiten.
Fakt ist, du brauchst immer einen zusätzlichen Speicher um die Daten temprär unterzubringen.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

jnewton957

Zitat von: DS_Starter am 05 Juni 2022, 20:42:30
Wie immer gibt es viele Wege.
Ich gehe davon aus, dass du eine SQLite hast ?

Du brauchst erstmal genügend zusätzlichen Platz auf einem gemouteten Stick oder SSD.
Dann könntest du einfach bei gestoppten ! FHEM das File fhem.db auf den gemounteten Speicher verschieben, die db-Config von DbLog entsprechend anpassen und wieder starten. Dann solltest du weiterarbeiten können wie bisher.

Ansonsten könntest du auch mit DbRep ein Backup mt "dumpSQLite" oder ein Export mit "exportToFile" anfertigen.
Danach im DbRep mit "sqlCmd DELETE FROM history;" alle Daten löschen. Nach einem "set ... vacuum" ist das File wieder klein.

Wenn du später deine Infrastruktur neu aufgebaut hast kannst du die exportierten Altdaten mit einem "importFromFile" im DbRep wieder einspielen.

Das nur mal ganz schnell als Anregung. Gibt sicherlich noch mehr Möglichkeiten.
Fakt ist, du brauchst immer einen zusätzlichen Speicher um die Daten temprär unterzubringen.

LG,
Heiko

Danke HEIKO,
ich kopiere gerade die 4,8 GB auf den gemounteten USB Stick. Das schafft erstmal Luft und etwas Zeit.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP