32 lines
968 B
TypeScript
32 lines
968 B
TypeScript
import datasquirel from "@moduletrace/datasquirel";
|
|
import { execSync, type ExecSyncOptions } from "child_process";
|
|
import path from "path";
|
|
|
|
const BACKUP_DIR = `/root/backups`;
|
|
const BACKUP_FILE_NAME = "backup.tar.xz";
|
|
const BACKUP_DIR_BACKUP = path.join(BACKUP_DIR, `.backup`);
|
|
const DOCKER_VOLUMES_DIR = "/var/lib/docker/volumes";
|
|
const DOCKER_VOLUMES_BACKUP_DIR = path.join(
|
|
BACKUP_DIR_BACKUP,
|
|
`docker`,
|
|
`volumes`,
|
|
);
|
|
const BACKUP_FILE_TAR = path.join(BACKUP_DIR, BACKUP_FILE_NAME);
|
|
const RSYNC_IGNORE_FILE = `/root/.coderank/server/rsync-ignore.txt`;
|
|
const DSQL_FOLDER = `/projects/coderank/archives/servers`;
|
|
const DSQL_FILE_NAME = `${process.env.CODERANK_HOST_DOMAIN}.tar.xz`;
|
|
|
|
const execOpts: ExecSyncOptions = {
|
|
stdio: ["inherit", "inherit", "ignore"],
|
|
};
|
|
|
|
const dsqlFile = await datasquirel.api.media.get({
|
|
// folder: DSQL_FOLDER,
|
|
mediaName: DSQL_FILE_NAME,
|
|
});
|
|
|
|
datasquirel.utils.debugLog({
|
|
log: dsqlFile,
|
|
addTime: true,
|
|
});
|