20 lines
580 B
JavaScript
20 lines
580 B
JavaScript
const fs = require("node:fs");
|
|
const path = require("node:path");
|
|
|
|
const dataDir = path.resolve("data");
|
|
const source = path.join(dataDir, "leistungsbilanz.db");
|
|
|
|
if (!fs.existsSync(source)) {
|
|
console.error(`Database file not found: ${source}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const backupDir = path.join(dataDir, "backups");
|
|
fs.mkdirSync(backupDir, { recursive: true });
|
|
|
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
const target = path.join(backupDir, `leistungsbilanz-${timestamp}.db`);
|
|
fs.copyFileSync(source, target);
|
|
|
|
console.log(`Backup created: ${target}`);
|