H2-Datenbank Befehle via crontab - Linux

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
altermann9
Beiträge: 17
Registriert: 30.08.2011, 16:19
Kontaktdaten:

H2-Datenbank Befehle via crontab - Linux

Beitrag von altermann9 » 20.12.2014, 10:29

Guten Morgen!

Ich habe vor ein paar Tagen einige DS18B20_Temperatursensoren, an einen bestehenden Kabelstrang, hinzugefügt, und scheinbar beim löten geschlampt.
Daher kommt es jetzt vermehrt zu den 85er Fehlern.

Ich benutzen die Sensoren für 2 Datenbanken. Einmal Mysql und für CCU-Historian.
Da ich die Lötstellen gerade zugebaut habe und erst wieder im Frühjahr rankomme suche ich jetzt einen Weg der H2-Datenbank via Cronjob die 85-Einträge zu löschen.
Mit dem Webinterface geht das ja prima über z.B. "delete FROM S_7902 WHERE VALUE = '85'".
Bei Mysql klappt das auch prima mit einem "*/6 * * * * /usr/bin/mysql -uroot -p47110815 -e "delete FROM digitemp_stats.digitemp WHERE Fahrenheit = '185'"" im crontab.

Wie übergebe ich der H2 den Befehl z.B. "delete FROM S_7902 WHERE VALUE = '85'" via contab?

Ideen?

Grüße André

Mathias
Beiträge: 1791
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 259 Mal
Kontaktdaten:

Re: H2-Datenbank Befehle via crontab - Linux

Beitrag von Mathias » 22.12.2014, 15:26

altermann9 hat geschrieben:Wie übergebe ich der H2 den Befehl z.B. "delete FROM S_7902 WHERE VALUE = '85'" via contab?
  1. h2-1.3.176.jar aus der ccu-historian.jar (ist eine ZIP-Datei) entpacken.
  2. Externen Zugriff auf die Datenbank ermöglichen (s.a. Konfigurationsoptionen database.tcpEnable, database.tcpPort, database.tcpAllowOthers).
  3. Die nötigen SQL-Befehle in einer Text-Datei (z.B. delete_85.sql) ablegen.
  4. Folgendes Kommando ausführen:

    Code: Alles auswählen

    java -cp h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:tcp:./data/history;USER=sa;PASSWORD=ccu-historian -script delete_85.sql
Testen konnte ich das obige Vorgehen noch nicht. Weitere Tipps:
  • Dokumentation der H2 Database Engine auf http://www.h2database.com
  • Mit org.h2.tools.Shell kann der SQL-Befehl auch auf der Kommandozeile (Option -sql) angegeben werden. Die Liste der Kommandozeilenoptionen wird mit folgendem Kommando ausgegeben:

    Code: Alles auswählen

     java -cp h2-1.3.176.jar org.h2.tools.Shell -?
Gruß
Mathias

altermann9
Beiträge: 17
Registriert: 30.08.2011, 16:19
Kontaktdaten:

Re: H2-Datenbank Befehle via crontab - Linux

Beitrag von altermann9 » 26.12.2014, 21:01

OK & Danke.

Werde ich Morgen mal testen und berichten ob es geklapp hat!

Grüße André

Antworten

Zurück zu „CCU-Historian“