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