From 49563e6bd0c48b01f5d134e3ba4ad8092cc95533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Fri, 5 Jun 2026 16:05:38 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20backup=20=E2=80=94=20Remote-Verzeichnis?= =?UTF-8?q?=20per=20mkdir=20-p=20vor=20scp=20anlegen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- lib/backup.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/backup.ts b/lib/backup.ts index e8d50f2..c787cdf 100644 --- a/lib/backup.ts +++ b/lib/backup.ts @@ -98,6 +98,13 @@ async function runBackup(): Promise { '-o', 'ConnectTimeout=15', ]; + // Zielverzeichnis auf Remote anlegen falls nicht vorhanden + await new Promise((resolve, reject) => { + const ssh = spawn('ssh', [...sshOpts, sshHost, `mkdir -p ${remotePath}`]); + ssh.on('error', reject); + ssh.on('close', (code) => code === 0 ? resolve() : reject(new Error(`mkdir -p exit ${code}`))); + }); + await new Promise((resolve, reject) => { const scp = spawn('scp', [...sshOpts, localPath, `${sshHost}:${remotePath}/${filename}`]); let scpErr = '';