Put dbdumpfile back in root of zip instead of meshcentral-data subfolder and normalize some more (#6500)
PTR committed
Nov 5, 2024 at 14:26 UTC
3f8301e9d7ab419dee3e2a049b5a731b04ae832d
1 file changed
+8
-7
db.js
+8
-7
@@ -3202,7 +3202,7 @@ module.exports.CreateDB = function (parent, func) {
3202
3203
var mysqldumpPath = 'mysqldump';
3204
if (parent.config.settings.autobackup && parent.config.settings.autobackup.mysqldumppath) {
3205
- mysqldumpPath = parent.config.settings.autobackup.mysqldumppath;
3205
+ mysqldumpPath = path.normalize(parent.config.settings.autobackup.mysqldumppath);
3206
}
3207
3208
var cmd = '\"' + mysqldumpPath + '\" --user=\'' + props.user + '\'';
@@ -3246,7 +3246,7 @@ module.exports.CreateDB = function (parent, func) {
3246
3247
var mongoDumpPath = 'mongodump';
3248
if (parent.config.settings.autobackup && parent.config.settings.autobackup.mongodumppath) {
3249
- mongoDumpPath = parent.config.settings.autobackup.mongodumppath;
3249
+ mongoDumpPath = path.normalize(parent.config.settings.autobackup.mongodumppath);
3250
}
3251
3252
var cmd = '"' + mongoDumpPath + '"';
@@ -3451,7 +3451,7 @@ module.exports.CreateDB = function (parent, func) {
3451
const dburl = parent.args.mongodb;
3452
3453
//const newDBDumpFile = 'mongodump-' + fileSuffix;
3454
- newDBDumpFile = path.join(dataPath, (dbname + '-mongodump-' + fileSuffix + '.archive'));
3454
+ newDBDumpFile = path.join(backupPath, (dbname + '-mongodump-' + fileSuffix + '.archive'));
3455
3456
var cmd = buildMongoDumpCommand();
3457
cmd += (dburl) ? ' --archive=\"' + newDBDumpFile + '\"' :
@@ -3471,7 +3471,7 @@ module.exports.CreateDB = function (parent, func) {
3471
} else if ((obj.databaseType == DB_MARIADB) || (obj.databaseType == DB_MYSQL)) {
3472
// Perform a MySqlDump backup
3473
const newBackupFile = 'mysqldump-' + fileSuffix;
3474
- newDBDumpFile = path.join(dataPath, newBackupFile + '.sql');
3474
+ newDBDumpFile = path.join(backupPath, newBackupFile + '.sql');
3475
3476
var cmd = buildSqlDumpCommand();
3477
cmd += ' --result-file=\"' + newDBDumpFile + '\"';
@@ -3489,7 +3489,7 @@ module.exports.CreateDB = function (parent, func) {
3489
3490
} else if (obj.databaseType == DB_SQLITE) {
3491
//.db3 suffix to escape escape backupfile glob to exclude the sqlite db files
3492
- newDBDumpFile = path.join(dataPath, databaseName + '-sqlitedump-' + fileSuffix + '.db3');
3492
+ newDBDumpFile = path.join(backupPath, databaseName + '-sqlitedump-' + fileSuffix + '.db3');
3493
/*undocumented in node-sqlite3 API, check https://github.com/TryGhost/node-sqlite3/blob/593c9d498be2510d286349134537e3bf89401c4a/test/backup.test.js
3494
var backup = obj.file.backup(newDBDumpFile);
3495
backup.step(-1, function (err) {
@@ -3509,7 +3509,7 @@ module.exports.CreateDB = function (parent, func) {
3509
} else if (obj.databaseType == DB_POSTGRESQL) {
3510
// Perform a PostgresDump backup
3511
const newBackupFile = databaseName + '-pgdump-' + fileSuffix + '.sql';
3512
- newDBDumpFile = path.join(dataPath, newBackupFile);
3512
+ newDBDumpFile = path.join(backupPath, newBackupFile);
3513
let cmd = '"' + parent.config.settings.autobackup.pgdumppath + '"'
3514
+ ' --dbname=postgresql://' + parent.config.settings.postgres.user + ":" +parent.config.settings.postgres.password
3515
+ "@" + parent.config.settings.postgres.host + ":" + parent.config.settings.postgres.port + "/" + databaseName
@@ -3647,7 +3647,8 @@ module.exports.CreateDB = function (parent, func) {
3647
archive.directory(parent.filespath, 'meshcentral-files');
3648
archive.directory(parent.recordpath, 'meshcentral-recordings');
3649
};
3650
-
3650
+ //add dbdump to the root of the zip
3651
+ archive.file(newDBDumpFile, { name: path.basename(newDBDumpFile) });
3652
archive.finalize();
3653
} else {
3654
//failed somewhere before zipping