restic/rclone: PROPFIND für Dateien, MKCOL-Fix, Logging, Cache

- PROPFIND auf Dateipfade (rclone-Verifizierung nach PUT)
- MKCOL: 'already exists' -> 201 statt 500
- resolveResource: name.bin-Fallback für Dateien ohne Erweiterung
- recentFileCache für neu erstellte Dateien (API-Verzögerung)
- Logging: webdav-debug.log, webdav-errors.log, REQ/RES
- start-webdav.cmd: Log-Ausgabe in Datei, PORT aus .env
- Troubleshooting-Doku für restic 500-Fehler

Made-with: Cursor
This commit is contained in:
2026-02-28 16:11:22 +01:00
parent bbf3b899f7
commit b463579896
5 changed files with 153 additions and 26 deletions

View File

@@ -4,9 +4,9 @@ REM In Duplicati: Einstellungen -> Erweitert -> Scripts -> Vor dem Backup ausfue
REM Pfad: C:\Pfad\zu\internxt-webdav\scripts\start-webdav.cmd
REM Optional: Port als Argument (z.B. start-webdav.cmd 8080)
if "%1"=="" (set PORT=3005) else (set PORT=%1)
cd /d "%~dp0.."
if "%1"=="" (set PORT=3005) else (set PORT=%1)
for /f "tokens=2 delims==" %%a in ('findstr /B "PORT=" .env 2^>nul') do set PORT=%%a
REM .env und Token pruefen
if not exist .env (
@@ -26,8 +26,11 @@ if %errorlevel% equ 0 (
exit /b 0
)
echo Starte WebDAV-Server...
start /B node src/server.js > nul 2>&1
if not exist "%~dp0..\logs" mkdir "%~dp0..\logs"
set LOGFILE=%~dp0..\logs\webdav.log
echo [%date% %time%] WebDAV-Server starten... >> "%LOGFILE%"
echo Starte WebDAV-Server... Log: %LOGFILE%
start /B node src/server.js >> "%LOGFILE%" 2>&1
REM Warten und pruefen ob Server antwortet (OPTIONS braucht keine Auth)
set RETRIES=0