CCU Backup mit CuxD
Moderator: Co-Administratoren
- uwe111
- Beiträge: 4821
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 246 Mal
- Kontaktdaten:
Re: CCU Backup mit CuxD
Hallo Axel,
exit(1) bedeutet das ein Fehler bei der Ausführung des Befehls aufgetreten ist.
Viele Grüße
Uwe
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 Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
Re: CCU Backup mit CuxD
Hallo Uwe
Habe heute mal in der CCU2 ein Programm geschrieben dass Dein Backup-Script Aufruft.
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
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
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
funktionieren immer noch.
Ich versteh's grad nicht...
Gruss Ralf
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");
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);
Ich versteh's grad nicht...
Gruss Ralf
Re: CCU Backup mit CuxD
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
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
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
Re: CCU Backup mit CuxD
Hi
Ich denke Du musst dazu den USB Stick der Fritzbox im CUxD mounten. Hier mein Beispiel wie ich mein Synology mounte
Siehe aber auch meinen letzten Thread. Der Aufruf des Backups ignoriert das übergebene Backuüverzeichnis. Hier ist noch Hilfe von Uwe angesagt.
Gruss Ralf
Ich denke Du musst dazu den USB Stick der Fritzbox im CUxD mounten. Hier mein Beispiel wie ich mein Synology mounte
Diese beiden Werte werden im CUxD im Setup Bereich eingegeben.MOUNTCMD= mount -t nfs 192.168.1.180:/volume1/Medien/server-extern/CCU2/backup /media/backup -o rw,nolock
UMOUNTCMD=umount /media
Siehe aber auch meinen letzten Thread. Der Aufruf des Backups ignoriert das übergebene Backuüverzeichnis. Hier ist noch Hilfe von Uwe angesagt.
Gruss Ralf
- uwe111
- Beiträge: 4821
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 246 Mal
- Kontaktdaten:
Re: CCU Backup mit CuxD
Hallo Ralf,
/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
Warum?derrapf hat geschrieben:Hier ist noch Hilfe von Uwe angesagt.
/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 Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
Re: CCU Backup mit CuxD
Hallo Uwe
Wie ich oben schon mal geschrieben habe wird das über den CUXD Aufruf
ü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
Weil Du ev. mehr Ahnung von Unix hast und vor allem darüber wie Dein Exec-Objekt funktoniert.uwe111 hat geschrieben:Warum?derrapf hat geschrieben:Hier ist noch Hilfe von Uwe angesagt.
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
- uwe111
- Beiträge: 4821
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 246 Mal
- Kontaktdaten:
Re: CCU Backup mit CuxD
Hallo Ralf,
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
Diesen Teil verstehe ich leider nicht. Funktioniert das Backup denn auf die SD-Karte?derrapf hat geschrieben:Wenn man das Script startet und auf der CCU ein ps -e absetzt, dann sieht man, dass eigentlichausgeführt wird.Code: Alles auswählen
sh -c /usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup
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 aufruftCode: Alles auswählen
sh -c "/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup"
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 Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
Re: CCU Backup mit CuxD
Hallo Uwe
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:
Allerdings erfolgt das Backup trotzdem unter /var/tmp
Erst wenn ich 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.
Die Logs hab ich noch gar nicht angesehen. Kann ich morgen mal machen.
Gruss Ralf
Was genau ist Dir unklar?uwe111 hat geschrieben: Diesen Teil verstehe ich leider nicht.
Das Backup funktioniert prima. CUxD ist 1.3uwe111 hat geschrieben: Funktioniert das Backup denn auf die SD-Karte?
Nutzt Du die aktuelle CUxD-Version?
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
Erst wenn ich
Code: Alles auswählen
"/usr/local/addons/cuxd/extra/ccu_backup /var/nfs/backup"
Das Problem ist aber, dass man die beiden "" dem CUXD-Exec nicht mitgeben kann.
Der steht auf 60min.uwe111 hat geschrieben: Den EXEC_TIMEOUT-Parameter hast Du sicher entsprechend hochgesetzt, richtig?
Stehen im CUxD-Syslog nach dem Aufruf irgendwelche Meldungen?
Die Logs hab ich noch gar nicht angesehen. Kann ich morgen mal machen.
Gruss Ralf
Re: CCU Backup mit CuxD
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):
Im Full-yslog steht
Hilft das?
Gruss Ralf
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
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)]
Gruss Ralf
- uwe111
- Beiträge: 4821
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 246 Mal
- Kontaktdaten:
Re: CCU Backup mit CuxD
Hallo Ralf,
na da steht's doch:
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
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
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir