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 = '';