diff --git a/db.js b/db.js index d33b39ae..7795165b 100644 --- a/db.js +++ b/db.js @@ -1644,12 +1644,6 @@ module.exports.CreateDB = function (parent, func) { return cmd; } - // MongoDB mongodump requires that the URL have a / at the end of the path. If not present, this will add it. - function terminateUrlPathWithSlash(str) { - const u = require('url').parse(str); - return u.protocol + '//' + u.host + (u.pathname ? u.pathname : '') + '/' + (u.search ? u.search : ''); - } - // Check that the server is capable of performing a backup obj.checkBackupCapability = function (func) { if ((parent.config.settings.autobackup == null) || (parent.config.settings.autobackup == false)) { func(); } @@ -1662,12 +1656,15 @@ module.exports.CreateDB = function (parent, func) { var mongoDumpPath = 'mongodump'; if (parent.config.settings.autobackup && parent.config.settings.autobackup.mongodumppath) { mongoDumpPath = parent.config.settings.autobackup.mongodumppath; } var cmd = '"' + mongoDumpPath + '"'; - if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + terminateUrlPathWithSlash(dburl) + '\"'; } + if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl + '\"'; } cmd += (parent.platform == 'win32') ? ' --archive=\"nul\"' : ' --archive=\"/dev/null\"'; const child_process = require('child_process'); child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) { try { if ((error != null) && (error != '')) { + + console.log(error); + if (parent.platform == 'win32') { func(1, "Unable to find mongodump.exe, MongoDB database auto-backup will not be performed."); } else { @@ -1840,7 +1837,7 @@ module.exports.CreateDB = function (parent, func) { if (parent.config.settings.autobackup && parent.config.settings.autobackup.mongodumppath) { mongoDumpPath = parent.config.settings.autobackup.mongodumppath; } const child_process = require('child_process'); var cmd = '\"' + mongoDumpPath + '\" --db=\"' + dbname + '\" --archive=\"' + newBackupPath + '.archive\"'; - if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + terminateUrlPathWithSlash(dburl) + '\" --archive=\"' + newBackupPath + '.archive\"'; } + if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl + '\" --archive=\"' + newBackupPath + '.archive\"'; } var backupProcess = child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) { try { var mongoDumpSuccess = true; diff --git a/public/scripts/common-0.0.1.js b/public/scripts/common-0.0.1.js index 325f9bf2..b9fc0b12 100644 --- a/public/scripts/common-0.0.1.js +++ b/public/scripts/common-0.0.1.js @@ -9,8 +9,8 @@ if (!String.prototype.startsWith) { String.prototype.startsWith = function (str) if (!String.prototype.endsWith) { String.prototype.endsWith = function (str) { return this.indexOf(str, this.length - str.length) !== -1; }; } // Quick UI functions, a bit of a replacement for jQuery -function Q(x) { if (document.getElementById(x) == null) { console.log('Invalid element: ' + x); } return document.getElementById(x); } // "Q" -//function Q(x) { return document.getElementById(x); } // "Q" +//function Q(x) { if (document.getElementById(x) == null) { console.log('Invalid element: ' + x); } return document.getElementById(x); } // "Q" +function Q(x) { return document.getElementById(x); } // "Q" function QS(x) { try { return Q(x).style; } catch (x) { } } // "Q" style function QE(x, y) { try { Q(x).disabled = !y; } catch (x) { } } // "Q" enable function QV(x, y) { try { QS(x).display = (y ? '' : 'none'); } catch (x) { } } // "Q" visible