Hallo zusammen
Meine Frage richtet sich an die Script Spezialisten von euch. Ich habe zu geringe Kenntnisse um das selbst hinzukriegen.
Ist es grundsätzlich möglich die ganze Datenbank-Komprimierung ebenfalls in einem Script zu verpacken?
Die Schwierigkeit ist ja dass zuerst CCU-Historian gestoppt werden muss und danach recalc und compact durchgeführt werden muss. Am Ende wird Historian wieder gestartet.
Jetzt weiss ich aus eigener Erfahrung dass es eine Weile dauert bis Historian gestoppt ist. Erst danach kann der nächste Schritt ausgeführt werden. Kann man das überprüfen ob der nächste Schritt ausgeführt werden kann?
Es ist grundsätzlich Sinnvoll danach die Datenbank gleich zu Bereinigen.
Gruss Ivo
Datenbank Komprimieren und Bereinigen per Script
Moderator: Co-Administratoren
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Datenbank Komprimieren und Bereinigen per Script
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 1803
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: Datenbank Komprimieren und Bereinigen per Script
Das müsste ich mir mal anschauen. Das wäre natürlich eine tolle Funktion.
Du kannst überprüfen, ob der CCU-Historian-Prozess verschwunden ist. Das Start/Stop-Skript von dem CCU-AddOn macht dies bereits.
Du meinst vielleicht die Kommandozeilenoption -compact? Die Verkleinerung der Datenbankdatei wird per Skript leider nicht möglich sein, da dazu die Datenbank komplett abgechaltet werden muss. Dann können Werte sowieso nicht mehr archiviert oder Trends dargestellt werden.
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Datenbank Komprimieren und Bereinigen per Script
Hallo Mathias
Danke für deine Rückmeldung.
Das habe ich dann auch ausgeführt. Ich habe aber den Eindruck dass das mit "sleep 15s" nicht optimal ist. Bis jetzt habe ich noch nicht herausgefunden, wie ich die Überprüfung ob Historian gestoppt ist durchführen soll.
Der untere Teil mit Komprimieren und verkleinern hat meiner Meinung nach funktioniert. Die Ausführung per Cron-Job kenne ich und werde das Script einfach einmal pro Woche Starten.
Eine Steigerung wäre jetzt noch ein Eintrag in der Log Datei. Aber diese Kenntnisse besitze ich noch nicht.
Mein erster Schritt wäre jetzt das sleep mit einer IF Anweisung zu eliminieren. Hast du hier einen Tipp?
Sehr gerne nehme ich auch andere Meinungen und Vorschläge an.
Gruss Ivo
Danke für deine Rückmeldung.
Ja genau das meine ich. In der Zwischenzeit habe ich ein kleines Script erstellt.Du meinst vielleicht die Kommandozeilenoption -compact? Die Verkleinerung der Datenbankdatei wird per Skript leider nicht möglich sein, da dazu die Datenbank komplett abgechaltet werden muss.
Code: Alles auswählen
#!/bin/sh
# CCU-Historian stoppen
sudo bash /etc/init.d/ccu-historian stop
# Warten bis CCU-Historian gestoppt ist
sleep 15s # 15 Sekunden abwarten
# Datenbank Komprimieren, Kompaktieren und CCU-Historian starten
(sudo java -jar /opt/ccu-historian/ccu-historian.jar -config /opt/ccu-historian/ccu-historian.config -recalc) && (sudo java -jar /opt/ccu-historian/ccu-historian.jar -config /opt/ccu-historian/ccu-historian.config -compact) && (sudo bash /etc/init.d/ccu-historian start)
exit 0
Der untere Teil mit Komprimieren und verkleinern hat meiner Meinung nach funktioniert. Die Ausführung per Cron-Job kenne ich und werde das Script einfach einmal pro Woche Starten.
Eine Steigerung wäre jetzt noch ein Eintrag in der Log Datei. Aber diese Kenntnisse besitze ich noch nicht.
Mein erster Schritt wäre jetzt das sleep mit einer IF Anweisung zu eliminieren. Hast du hier einen Tipp?
Sehr gerne nehme ich auch andere Meinungen und Vorschläge an.
Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 1803
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: Datenbank Komprimieren und Bereinigen per Script
Hallo Ivo,
also der Befehl ccu-historian stop aus der Add-On Distribution (siehe hier) sollte automatisch solange wie nötig warten. Dein Start/Stop-Skript kenne ich jetzt nicht. Falls Dein Start/Stop-Skript nicht wartet, würde ich den sleep auf 2 Minuten setzen.
Eintrräge in die Log-Datei können hiermit erstellt werden:
also der Befehl ccu-historian stop aus der Add-On Distribution (siehe hier) sollte automatisch solange wie nötig warten. Dein Start/Stop-Skript kenne ich jetzt nicht. Falls Dein Start/Stop-Skript nicht wartet, würde ich den sleep auf 2 Minuten setzen.
Eintrräge in die Log-Datei können hiermit erstellt werden:
Code: Alles auswählen
logger -t ccu-historian -p user.debug "Stopping"
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Datenbank Komprimieren und Bereinigen per Script
Hallo Mathias
Danke für deine Antwort.
Meins sieht so aus:
Im Prinzip funktioniert es auch mit Sleep. Ich werde aber einmal versuchen deinen Teil des Stops für mich zu übernehmen.
Gruss Ivo
Danke für deine Antwort.
Ehrlich gesagt, ich kann dir nicht einmal mehr mitteilen von wo dieses Start/Stop Script von CCU-Historian stammt.intrräge in die Log-Datei können hiermit erstellt werden:
logger -t ccu-historian -p user.debug "Stopping"
Meins sieht so aus:
Code: Alles auswählen
#!/bin/bash
### BEGIN INIT INFO
# Provides: ccu-historian
# Required-Start: $network $local_fs $remote_fs
# Required-Stop:: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts ccu-historian
# Description: starts ccu-historian
### END INIT INFO
(( EUID )) && echo .You need to have root priviliges.. && exit 1
PIDF=/opt/ccu-historian/ccu-historian.pid
CONFF=/opt/ccu-historian/ccu-historian.config
JAVACMD=/usr/bin/java
CCUCMD=/opt/ccu-historian/ccu-historian.jar
RETVAL=0
start() {
echo -n "Starting ccu-historian"
start-stop-daemon --start --pidfile $PIDF --make-pidfile --background --exec $JAVACMD -- -jar $CCUCMD -config $CONFF
RETVAL=$?
}
stop() {
echo -n "Stopping ccu-historian"
start-stop-daemon --quiet --stop --pidfile $PIDF
RETVAL=$?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: ccu-historian {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi