Vielleicht kanns jemand gebrauchen
habe mir ein Perl-Script geschrieben um Daten von DbLog nach Influxdb zu migrieren
- MySQL Konfiguration wird aus FHEM genommen
- InfluxDB host, port, user, pw müssen im Script eingetragen (geändert) werden
- InfluxDB, user und pw muss bereits existieren ... wenn das Modul bereits installiert ist - DB, user + pw von der Definition übernehmen
- Log der nicht geschriebenen Sätze wird im Fhem-Logverzeichnis erstellt
Läuft bei mir mit 500.000 Sätzen ca. 1 Stunde. Kann mehrfach ausgeführt werden. Sätze die schon existieren werden von InfluxDB ignoriert
Wenn man die anzahl der verarbeiteten Sätze sehen will Zeile 84 wieder einkommentieren, " #print "$cnt\n";" dann sieht man bei welchem Satz (Nummer) gerade gearbeitet wird.
Läuft mit einem DB-Cursor somit läuft Memory nicht über. Dafür läufts länger.
Wenn man den Select einschränkt kann man auch paketweise arbeiten. Ich lade mir aktuell alle 5 Minuten die Sätze in InfluxDB. Beispielselect ist im Script als Kommentar enthalten.
Nicht-numerische Sätze landen im Fehlerlog, werden nicht migriert
Ansonsten ... läuft, jedoch etwas DB-Wissen vorausgesetzt. Und sichern ... ich bin nicht für Datenverluste verantwortlich
Aufruf auf der Console
perl mysql2influx__db_fhem.pm