FHEM Forum

FHEM => Automatisierung => Thema gestartet von: franky08 am 10 Mai 2014, 23:51:53

Titel: DbLog bestimmte Einträge löschen, ausser ausgewählte
Beitrag von: franky08 am 10 Mai 2014, 23:51:53
Hallo, bin gerade dabei das System ein wenig aufzuräumen, vor allem was die Log´s betrifft. Meine DBLog Datenbank ist nun langsam auf 10 GB angewachsen und ich hab mich gefragt, wie kann ich nicht mehr benötigte Datensätze (älter als einen Monat) löschen und solche, die noch gebraucht werden (Strom übers Jahr) behalten?
Wurde bestimmt schon gefragt aber mit der SuFu hab ich da nicht´s genaues gefunden.

VG
Frank
Titel: Antw:DbLog bestimmte Einträge löschen, ausser ausgewählte
Beitrag von: betateilchen am 10 Mai 2014, 23:59:04
commandref lesen...

Mit



set <logName> userCommand <gültiges SQL Statement>



kannst Du Befehle an die Datenbank schicken.

delete from history where TIMESTAMP < datetime('now', '-90 days') and DEVICE <> 'stromzaehler'

Löscht alle Einträge älter als 90 Tage, ausser Einträge von "stromzaehler" Achtung: Die Syntax für die Befehle ist abhängig vom gewählten Datenbanktyp, das Beispiel gilt nur für SQLite.
Titel: Antw:DbLog bestimmte Einträge löschen, ausser ausgewählte
Beitrag von: franky08 am 11 Mai 2014, 00:25:07
Danke, betateilchen, habe gerade das hier durchforstet:http://www.sql-und-xml.de/sql-tutorial/index.html

Aber was ein SQL Statement ist, hat sich mir nicht erschlossen. kann aber am heutigen Arbeitstag liegen, bin zu müde!

VG
Frank
Titel: Antw:DbLog bestimmte Einträge löschen, ausser ausgewählte
Beitrag von: betateilchen am 11 Mai 2014, 01:09:50
Zitat von: franky08 am 11 Mai 2014, 00:25:07
Aber was ein SQL Statement ist, hat sich mir nicht erschlossen.

Die Zeile mit dem "delete" in meinem vorigen Beitrag beispielsweise.