HomeMatic CCU2 bei ELV bestellen

CCU Backup mit CuxD

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Werbung


Re: CCU Backup mit CuxD

Beitragvon uwe111 » 23.07.2015, 20:32

Hallo Axel,

exit(1) bedeutet das ein Fehler bei der Ausführung des Befehls aufgetreten ist.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3581
Registriert: 26.02.2011, 23:22

Re: CCU Backup mit CuxD

Beitragvon derrapf » 07.09.2015, 01:08

Hallo Uwe
Habe heute mal in der CCU2 ein Programm geschrieben dass Dein Backup-Script Aufruft.
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup");


Folgendes ist mir dabei aufgefallen:
Die Übergabeparameter (also das Backupverzeichnis) an das Script werden ignoriert. Das Script speichert das Backup immer unter /var/tmp ab.
Ich hab das dann mal untersucht:
Wenn man das Script startet und auf der CCU ein ps -e absetzt, dann sieht man, dass eigentlich
Code: Alles auswählen
sh -c /usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup

ausgeführt wird.
Setzt man dieses Kommando auf der Commandline ab, dann wird auch hier der Parameter /var/nfs/backup ignoriert.
Es funktioniert erst dann wenn man das Kommando so aufruft
Code: Alles auswählen
sh -c "/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup"


Was mich dabei wundert: Wenn das ein grundsätzliches Problem ist (also dass jedes Kommando das ich mit dem Exec-Gerät absetze) keine Parameter mehr übergeben kann, dann müssten doch hier die Leute Sturm laufen, weil Ihre Programme nicht mehr funktionieren!

Aber das ist ja nicht so.
Aufrufe wie
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("wget -q -O /dev/null " # url);

funktionieren immer noch.

Ich versteh's grad nicht...

Gruss Ralf
118 Kanäle in 66 Geräten und 44 CUxD-Kanäle in 13 CUxD-Geräten. 174 Systemvariablen, 104 Programme
derrapf
 
Beiträge: 685
Registriert: 17.12.2012, 23:29

Re: CCU Backup mit CuxD

Beitragvon pruse » 18.10.2015, 20:20

Hallo,
möchte das CCU Backup mit CuxD auf den USB Stick der FritzBox speichern.
Habe auf meinem PC eine Desktop Verknüpfung wo der Speicher unter "\\Fritz-nas\fritz.nasog\USB-Stick2-0ME-01\backup" der erreichbar ist.
Dann muss ich mich noch mit dem Benutzer und Passwort anmelden.
Alternativ könnte ich auch auf einem FTP-Server in Netz zugreifen.
Wer kann mir bei dem externen Backup helfen.
Gruß Jens
LXCCU im Standby,Yahm auf Raspberry Pi3, 3xHomeduino, 1xHM-Sen-LI-O, 1xHM-WDS10-TH-O, 1xHM-PBI-4-FM, 4xHM-LC-Bl1-FM, 3xHM-LC-Sw1-FM, 2xHM-WDS40-TH-I,
2x HM-Sen-MDIR-O, 6xHMW-IO-12-Sw14-DR, 1xHM-RC-4-2, 1xHM-LC-Sw4-PCB, 1xHM-ES-PMSw1-Pl, 1xHM-WDS30-OT2-SM,
1xHM-LC-Bl1PBU-FM, 1xHM-WDS30-T-O, 1xHM-TC-IT-WM-W-EU, 1xHM-Sen-MDIR-WM55, 1xHM-LC-Bl1PBU-FM
pruse
 
Beiträge: 211
Registriert: 03.02.2012, 23:41

Re: CCU Backup mit CuxD

Beitragvon derrapf » 23.10.2015, 23:34

Hi
Ich denke Du musst dazu den USB Stick der Fritzbox im CUxD mounten. Hier mein Beispiel wie ich mein Synology mounte
MOUNTCMD= mount -t nfs 192.168.1.180:/volume1/Medien/server-extern/CCU2/backup /media/backup -o rw,nolock
UMOUNTCMD=umount /media

Diese beiden Werte werden im CUxD im Setup Bereich eingegeben.

Siehe aber auch meinen letzten Thread. Der Aufruf des Backups ignoriert das übergebene Backuüverzeichnis. Hier ist noch Hilfe von Uwe angesagt.
Gruss Ralf
118 Kanäle in 66 Geräten und 44 CUxD-Kanäle in 13 CUxD-Geräten. 174 Systemvariablen, 104 Programme
derrapf
 
Beiträge: 685
Registriert: 17.12.2012, 23:29

Re: CCU Backup mit CuxD

Beitragvon uwe111 » 24.10.2015, 20:47

Hallo Ralf,

derrapf hat geschrieben:Hier ist noch Hilfe von Uwe angesagt.

Warum?
/usr/local/addons/cuxd/extra/ccu_backup ist ein einfaches TCL-Script. Das kannst Du gerne auch debuggen. :)
Ich vermute aber, dass das Problem nicht im ccu_backup-Script liegt.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3581
Registriert: 26.02.2011, 23:22

Re: CCU Backup mit CuxD

Beitragvon derrapf » 25.10.2015, 01:24

Hallo Uwe
uwe111 hat geschrieben:
derrapf hat geschrieben:Hier ist noch Hilfe von Uwe angesagt.

Warum?

Weil Du ev. mehr Ahnung von Unix hast und vor allem darüber wie Dein Exec-Objekt funktoniert.

Wie ich oben schon mal geschrieben habe wird das über den CUXD Aufruf
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup");

übergebene Verzeichnis vom Script nicht verwendet. Und ich hab momentan keinen Dunst warum nicht.
Da es bei Dir wohl funktioniert muss Du was anders machen als ich.
Das Verzeichnis wird ja komischerweise auch ignoriert wenn ich das Backup-Script mit dem Verzeichnis als Parameter aufrufe.
Ich hab jetzt zu wenig Unix Erfahrung um zu kapieren warum das nur geht, wenn ich den kompletten Aufruf in Hochkommas setze.
Damit gehts zwar auf der Shell, aber über CUxD kann ich den Aufruf ja nicht in Ausrufezeichen klammern.

Gruss Ralf
118 Kanäle in 66 Geräten und 44 CUxD-Kanäle in 13 CUxD-Geräten. 174 Systemvariablen, 104 Programme
derrapf
 
Beiträge: 685
Registriert: 17.12.2012, 23:29

Re: CCU Backup mit CuxD

Beitragvon uwe111 » 25.10.2015, 14:20

Hallo Ralf,

derrapf hat geschrieben:Wenn man das Script startet und auf der CCU ein ps -e absetzt, dann sieht man, dass eigentlich
Code: Alles auswählen
sh -c /usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup

ausgeführt wird.
Setzt man dieses Kommando auf der Commandline ab, dann wird auch hier der Parameter /var/nfs/backup ignoriert.
Es funktioniert erst dann wenn man das Kommando so aufruft
Code: Alles auswählen
sh -c "/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup"


Diesen Teil verstehe ich leider nicht. Funktioniert das Backup denn auf die SD-Karte?
Nutzt Du die aktuelle CUxD-Version?
Den EXEC_TIMEOUT-Parameter hast Du sicher entsprechend hochgesetzt, richtig?
Stehen im CUxD-Syslog nach dem Aufruf irgendwelche Meldungen?

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3581
Registriert: 26.02.2011, 23:22

Re: CCU Backup mit CuxD

Beitragvon derrapf » 26.10.2015, 01:49

Hallo Uwe

uwe111 hat geschrieben:Diesen Teil verstehe ich leider nicht.


Was genau ist Dir unklar?

uwe111 hat geschrieben:Funktioniert das Backup denn auf die SD-Karte?
Nutzt Du die aktuelle CUxD-Version?

Das Backup funktioniert prima. CUxD ist 1.3

Das Problem ist ja nur, dass ich es nicht in /var/tmp haben möche, sondern auf dem NAS, also in einem anderen Verzeichnis.
Ergo muss es so aufgerufen werden:
Code: Alles auswählen
/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup

Allerdings erfolgt das Backup trotzdem unter /var/tmp
Erst wenn ich
Code: Alles auswählen
"/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup"
auf er Shell eingebe, geht das Backup nach /var/nfs/backup
Das Problem ist aber, dass man die beiden "" dem CUXD-Exec nicht mitgeben kann.
uwe111 hat geschrieben:Den EXEC_TIMEOUT-Parameter hast Du sicher entsprechend hochgesetzt, richtig?
Stehen im CUxD-Syslog nach dem Aufruf irgendwelche Meldungen?
Der steht auf 60min.
Die Logs hab ich noch gar nicht angesehen. Kann ich morgen mal machen.
Gruss Ralf
118 Kanäle in 66 Geräten und 44 CUxD-Kanäle in 13 CUxD-Geräten. 174 Systemvariablen, 104 Programme
derrapf
 
Beiträge: 685
Registriert: 17.12.2012, 23:29

Re: CCU Backup mit CuxD

Beitragvon derrapf » 27.10.2015, 01:44

Hi Uwe
Hab's heute nochmal probert. Diesmal auf meiner neuen CCU2.
Ergbnis: Auf der Kommandline funktioniert nun alles auch ohne Hochkommas. Seltsam.
Aber der Aufruf über den CUxD Exec hat keine Auswirkungen. Es läuft zwar das Backupscript; das kann man per ps -e feststellen; aber es entsteht kein Backup. Weder im Verzeichnis das ich angegeben habe noch unter var/tmp
Welche Logs möchtest Du denn genau haben?
Im CuxD Log sieht man nur den Aufruf (ich habe inzwischen ein neues Output-Verzeichnis):
Code: Alles auswählen
...
Oct 26 23:46:56 homematic-ccu2 daemon.info cuxd[618]: move '/tmp/devlog.txt.0' -> '/var/tmp/devlog.txt.20151026-2346'
Oct 27 00:06:24 homematic-ccu2 daemon.info cuxd[245]: rename '/tmp/devlog.txt' -> '/tmp/devlog.txt.0'
Oct 27 00:06:24 homematic-ccu2 daemon.info cuxd[800]: move '/tmp/devlog.txt.0' -> '/var/tmp/devlog.txt.20151027-0006'
Oct 27 00:26:29 homematic-ccu2 daemon.info cuxd[245]: rename '/tmp/devlog.txt' -> '/tmp/devlog.txt.0'
Oct 27 00:26:29 homematic-ccu2 daemon.info cuxd[1176]: move '/tmp/devlog.txt.0' -> '/var/tmp/devlog.txt.20151027-0026'
Oct 27 00:34:15 homematic-ccu2 daemon.warn cuxd[1357]: CUX2801002:1 timeout(120s) /usr/local/addons/cuxd/extra/ccu_backup /media/backup

Im Full-yslog steht
Code: Alles auswählen
Oct 27 00:35:47 homematic-ccu2 user.err rfd: HSSParameter::GetValue() id=STATE failed getting physical value.
Oct 27 00:35:47 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallXmlrpcMethod: execute result isFault; method =getValue Params = {"KEQ0023274:1","STATE"} result= [faultCode:-1,faultString:"Failure"] [../Platform/DOM/iseXmlRpc.cpp (2627)]
Oct 27 00:35:47 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: CallXmlrpcMethod failed [../Platform/DOM/iseXmlRpc.cpp (1447)]
Oct 27 00:35:47 homematic-ccu2 local0.err ReGaHss: Error: IseHssDP::ReadValue: CallGetValue failed; sVal = 0 [../Platform/DOM/iseDOMdpHSS.cpp (130)]
Oct 27 00:35:48 homematic-ccu2 user.err rfd: RFPhysicalDataInterfaceCommand::GetData SendFrame failed for LEVEL_GET
Oct 27 00:35:48 homematic-ccu2 user.err rfd: HSSParameter::GetValue() id=STATE failed getting physical value.
Oct 27 00:35:48 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallXmlrpcMethod: execute result isFault; method =getValue Params = {"KEQ0023274:2","STATE"} result= [faultCode:-1,faultString:"Failure"] [../Platform/DOM/iseXmlRpc.cpp (2627)]
Oct 27 00:35:48 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: CallXmlrpcMethod failed [../Platform/DOM/iseXmlRpc.cpp (1447)]
Oct 27 00:35:48 homematic-ccu2 local0.err ReGaHss: Error: IseHssDP::ReadValue: CallGetValue failed; sVal = 0 [../Platform/DOM/iseDOMdpHSS.cpp (130)]
Oct 26 23:35:52 homematic-ccu2 auth.info sshd[1598]: Accepted password for root from 192.168.111.69 port 63418 ssh2
Oct 27 00:36:01 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 1 0x01 [3] 0 0x00 [4] 5 0x05  [../Platform/DOM/iseESPexec.cpp (11622)]
Oct 27 00:38:01 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 1 0x01 [3] 0 0x00 [4] 5 0x05  [../Platform/DOM/iseESPexec.cpp (11622)]

Hilft das?
Gruss Ralf
118 Kanäle in 66 Geräten und 44 CUxD-Kanäle in 13 CUxD-Geräten. 174 Systemvariablen, 104 Programme
derrapf
 
Beiträge: 685
Registriert: 17.12.2012, 23:29

Re: CCU Backup mit CuxD

Beitragvon uwe111 » 27.10.2015, 12:04

Hallo Ralf,

na da steht's doch:
Code: Alles auswählen
Oct 27 00:34:15 homematic-ccu2 daemon.warn cuxd[1357]: CUX2801002:1 timeout(120s) /usr/local/addons/cuxd/extra/ccu_backup /media/backup

Der EXEC_TIMEOUT-Parameter vom Gerät CUX2801002, Kanal 1 steht auf 2 Minuten (120s). Danach wird das Script vom CUxD mit einem Timeout beendet.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3581
Registriert: 26.02.2011, 23:22

VorherigeNächste

Zurück zu CUxD

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.