diff --git a/db.js b/db.js index df998182..9f5b38b5 100644 --- a/db.js +++ b/db.js @@ -3348,7 +3348,7 @@ module.exports.CreateDB = function (parent, func) { // Tries configured custom location with fallback to default location // Now runs after autobackup config init in meshcentral.js so config options are checked obj.checkBackupCapability = function (func) { - if ((parent.config.settings.autobackup == null) || (parent.config.settings.autobackup == false)) { return; }; + if (parent.config.settings.autobackup.backupintervalhours == -1) { return; }; //block backup until validated. Gets put back if all checks are ok. let backupInterval = parent.config.settings.autobackup.backupintervalhours; parent.config.settings.autobackup.backupintervalhours = -1; @@ -3395,7 +3395,7 @@ module.exports.CreateDB = function (parent, func) { const child_process = require('child_process'); child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) { if ((error != null) && (error != '')) { - func(1, "Mongodump error, backup will not be performed. Command tried: " + cmd + ' --> ERROR: ' + stderr); + func(1, "Mongodump error, backup will not be performed. Check path or use mongodumppath & mongodumpargs"); return; } else {parent.config.settings.autobackup.backupintervalhours = backupInterval;} }); @@ -3406,7 +3406,7 @@ module.exports.CreateDB = function (parent, func) { const child_process = require('child_process'); child_process.exec(cmd, { cwd: backupPath, timeout: 1000*30 }, function(error, stdout, stdin) { if ((error != null) && (error != '')) { - func(1, "mysqldump error, backup will not be performed. Command tried: " + cmd); + func(1, "mysqldump error, backup will not be performed. Check path or use mysqldumppath"); return; } else {parent.config.settings.autobackup.backupintervalhours = backupInterval;} @@ -3421,7 +3421,7 @@ module.exports.CreateDB = function (parent, func) { const child_process = require('child_process'); child_process.exec(cmd, { cwd: backupPath }, function(error, stdout, stdin) { if ((error != null) && (error != '')) { - func(1, "pg_dump error, backup will not be performed. Command tried: " + cmd); + func(1, "pg_dump error, backup will not be performed. Check path or use pgdumppath."); return; } else {parent.config.settings.autobackup.backupintervalhours = backupInterval;} }); diff --git a/meshcentral.js b/meshcentral.js index baf5612e..5c0bad6b 100644 --- a/meshcentral.js +++ b/meshcentral.js @@ -2120,10 +2120,10 @@ function CreateMeshCentralServer(config, args) { if (obj.args.nousers == true) { obj.updateServerState('nousers', '1'); } obj.updateServerState('state', "running"); - // Setup auto-backup defaults - if (obj.config.settings.autobackup == false || obj.config.settings.autobackup == 'false') { obj.config.settings.autobackup = {backupintervalhours: 0}; } //no schedule, but able to console autobackup + // Setup auto-backup defaults. Unless autobackup is set to false try to make a backup. + if (obj.config.settings.autobackup == false || obj.config.settings.autobackup == 'false') { obj.config.settings.autobackup = {backupintervalhours: -1}; } //block all autobackup functions else { - if (obj.config.settings.autobackup == null || obj.config.settings.autobackup === true) { obj.config.settings.autobackup = {backupintervalhours: 24, keeplastdaysbackup: 10}; }; + if (typeof obj.config.settings.autobackup != 'object') { obj.config.settings.autobackup = {}; }; if (typeof obj.config.settings.autobackup.backupintervalhours != 'number') { obj.config.settings.autobackup.backupintervalhours = 24; }; if (typeof obj.config.settings.autobackup.keeplastdaysbackup != 'number') { obj.config.settings.autobackup.keeplastdaysbackup = 10; }; if (obj.config.settings.autobackup.backuphour != null ) { obj.config.settings.autobackup.backupintervalhours = 24; if ((typeof obj.config.settings.autobackup.backuphour != 'number') || (obj.config.settings.autobackup.backuphour > 23 || obj.config.settings.autobackup.backuphour < 0 )) { obj.config.settings.autobackup.backuphour = 0; }}