Automatische Datenbank-Backups

Sichert die SQLite-Datenbank periodisch (Standard: alle 24h) nach
server/data/backups und räumt alte Sicherungen auf (Standard: 14
behalten). Zusätzlich per POST /api/backup manuell auslösbar.
This commit is contained in:
2026-07-04 11:56:38 +02:00
parent 4abbb50f8c
commit 60a0928d2f
2 changed files with 55 additions and 0 deletions
+13
View File
@@ -1,6 +1,7 @@
const express = require('express');
const cors = require('cors');
const db = require('./db');
const { startBackupScheduler, runBackup } = require('./backup');
const app = express();
app.use(cors());
@@ -364,6 +365,17 @@ app.get('/api/utilization', (req, res) => {
app.get('/health', (req, res) => res.json({ ok: true }));
// ---------- backup ----------
app.post('/api/backup', async (req, res) => {
try {
const file = await runBackup();
res.status(201).json({ file });
} catch (err) {
res.status(500).json({ error: 'Backup fehlgeschlagen' });
}
});
// serve built frontend in production
const path = require('path');
const fs = require('fs');
@@ -377,4 +389,5 @@ if (fs.existsSync(clientDist)) {
app.listen(PORT, () => {
console.log(`Ressourcenplanung-API läuft auf http://localhost:${PORT}`);
startBackupScheduler();
});