import { Command } from "commander"; import path from "path"; import grabDBDir from "../utils/grab-db-dir"; import grabDBBackupFileName from "../utils/grab-db-backup-file-name"; import chalk from "chalk"; import trimBackups from "../utils/trim-backups"; import snapshotDb from "../utils/snapshot-db"; export default function () { return new Command("backup") .description("Backup Database") .action(async (opts) => { console.log(`Backing up database ...`); const config = global.CONFIG; const { backup_dir } = grabDBDir({ config }); const new_db_file_name = grabDBBackupFileName({ config }); snapshotDb({ db: global.SQLITE_CLIENT, dst: path.join(backup_dir, new_db_file_name), }); trimBackups({ config }); console.log(`${chalk.bold(chalk.green(`DB Backup Success!`))}`); process.exit(); }); }