Re: Automatisches CCU Backup erstellen
Verfasst: 12.11.2023, 10:52
wenn die Backups auf einem PC landen sollen, würde ich das andersrum machen: auf dem PC würde ich nachts automatisch ein Skript starten lassen, welches die CCUs abklappert und per curl jeweils die normale Web-GUI-Funktion "Backup erstellen" aufruft und die so erstellen Backups lokal auf dem PC ablegtbador hat geschrieben: ↑06.11.2023, 09:32Gibt es eine Möglichkeit, wie man auf der CCU Zentrale automatisch per Script ein strukturiertes Backup der CCU auf meinen PC machen könnte? Ich habe ja mehrere CCUs und deshalb wäre es cool wenn die Backups direkt in die jeweiligen Ordner geladen werden immer so ein Mal in der Woche und die alten Backups sollten dann wieder gelöscht werden.
als Windows-Batch "backup-ccu.cmd" zB so:
(Quelle/von einem anderen Linux System: https://www.lxccu.com/doku.php?id=manua ... cu2-backup)
Code: Alles auswählen
@echo off
setlocal enabledelayedexpansion
for /F "eol=# tokens=1,2* delims=|" %%I in ( %~dpn0.cfg ) do (
rem --- # IP -oder- hostname|username|pw
echo.
echo # --- %%I ^(%%J^|***^) ---
set "SID="
for /F "tokens=3,4 delims=,:" %%L in ( 'curl -s -S -d "{\"method\":\"Session.login\",\"params\":{\"username\":\"%%J\",\"password\":\"%%K\"}}" http://%%I/api/homematic.cgi' ) do (
rem --- {"version": "1.1","result": "qzc66BC6BC","error": null}
rem echo %%L;%%~M;
if "%%~L" == "result" (
set SID=%%M
set SID=!SID:~2!
set SID=!SID:~,-1!
rem echo # SID=!SID!
)
)
if NOT "!SID!" == "" (
echo # login OK
echo.
set HH=!TIME:~0,2!
set MM=!TIME:~3,2!
set MM=!MM: =0!
set BACKUP="%DATE:~-2%%DATE:~3,2%%DATE:~0,2%-!HH!!MM!-%%I-backup.tar.sbk"
echo # create + download backup !BACKUP! ...
curl -s -S -v "http://%%I/config/cp_security.cgi?sid=@!SID!@&action=create_backup" -o !BACKUP!
echo.
echo # dir
dir %DATE:~-2%%DATE:~3,2%%DATE:~0,2%*-%%I-backup.tar.sbk | find /i "-backup.tar.sbk"
echo.
echo # logout ...
curl -s -S -d "{\"method\":\"Session.logout\",\"params\":{\"_session_id_\":\"!SID!\"}}" http://%%I/api/homematic.cgi
echo.
) else (
echo # login FAILED
echo.
)
rem exit /B
echo.
)
das cfg-File "backup-ccu.cfg" dazu listet die CCUs samt Zugangsdaten auf:
Code: Alles auswählen
# IP -oder- hostname|username|pw
172.20.1.60|Admin|...
172.20.1.30|Admin|...
log:
Code: Alles auswählen
>backup-ccu.cmd
# --- 172.20.1.60 (Admin|***) ---
# login OK
# create + download backup "231112-1044-172.20.1.60-backup.tar.sbk" ...
* Trying 172.20.1.60:80...
* Connected to 172.20.1.60 (172.20.1.60) port 80 (#0)
> GET /config/cp_security.cgi?sid=@Z12LqNhOTD@&action=create_backup HTTP/1.1
> Host: 172.20.1.60
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/x-download
< Content-Disposition: attachment;filename=homematic-ccu2-2023-11-12.sbk
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< X-Robots-Tag: none
< X-Download-Options: noopen
< X-Permitted-Cross-Domain-Policies: none
< Referrer-Policy: no-referrer
< Cache-Control: private, no-cache, must-revalidate, no-transform, max-age=0
< Content-Length: 4462080
< Date: Sun, 12 Nov 2023 09:45:30 GMT
<
{ [8279 bytes data]
* Connection #0 to host 172.20.1.60 left intact
# dir
12.11.2023 10:45 4.462.080 231112-1044-172.20.1.60-backup.tar.sbk
# logout ...
{"version": "1.1","result": true,"error": null}
# --- 172.20.1.30 (Admin|***) ---
# login OK
# create + download backup "231112-1045-172.20.1.30-backup.tar.sbk" ...
* Trying 172.20.1.30:80...
* Connected to 172.20.1.30 (172.20.1.30) port 80 (#0)
> GET /config/cp_security.cgi?sid=@sf91i9xJus@&action=create_backup HTTP/1.1
> Host: 172.20.1.30
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/x-download
< Content-Disposition: attachment;filename=ccu3-webui-2023-11-12.sbk
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< X-Robots-Tag: none
< X-Download-Options: noopen
< X-Permitted-Cross-Domain-Policies: none
< Referrer-Policy: no-referrer
< Cache-Control: private, no-cache, must-revalidate, no-transform, max-age=0
< Content-Length: 37079040
< Date: Sun, 12 Nov 2023 09:46:02 GMT
<
{ [6822 bytes data]
* Connection #0 to host 172.20.1.30 left intact
# dir
12.11.2023 10:46 37.079.040 231112-1045-172.20.1.30-backup.tar.sbk
# logout ...
{"version": "1.1","result": true,"error": null}
>