Make autobackup: false disable all backup functions and remove cmdline from checkbackup error message. (#7225)
PTR committed
Aug 11, 2025 at 15:29 UTC
87c37ea3f9b3addf106f6b7e72855515e082428d
2 files changed
+7
-7
db.js
+4
-4
@@ -3348,7 +3348,7 @@ module.exports.CreateDB = function (parent, func) {
3348
// Tries configured custom location with fallback to default location
3349
// Now runs after autobackup config init in meshcentral.js so config options are checked
3350
obj.checkBackupCapability = function (func) {
3351
- if ((parent.config.settings.autobackup == null) || (parent.config.settings.autobackup == false)) { return; };
3351
+ if (parent.config.settings.autobackup.backupintervalhours == -1) { return; };
3352
//block backup until validated. Gets put back if all checks are ok.
3353
let backupInterval = parent.config.settings.autobackup.backupintervalhours;
3354
parent.config.settings.autobackup.backupintervalhours = -1;
@@ -3395,7 +3395,7 @@ module.exports.CreateDB = function (parent, func) {
3395
const child_process = require('child_process');
3396
child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) {
3397
if ((error != null) && (error != '')) {
3398
- func(1, "Mongodump error, backup will not be performed. Command tried: " + cmd + ' --> ERROR: ' + stderr);
3398
+ func(1, "Mongodump error, backup will not be performed. Check path or use mongodumppath & mongodumpargs");
3399
return;
3400
} else {parent.config.settings.autobackup.backupintervalhours = backupInterval;}
3401
});
@@ -3406,7 +3406,7 @@ module.exports.CreateDB = function (parent, func) {
3406
const child_process = require('child_process');
3407
child_process.exec(cmd, { cwd: backupPath, timeout: 1000*30 }, function(error, stdout, stdin) {
3408
if ((error != null) && (error != '')) {
3409
- func(1, "mysqldump error, backup will not be performed. Command tried: " + cmd);
3409
+ func(1, "mysqldump error, backup will not be performed. Check path or use mysqldumppath");
3410
return;
3411
} else {parent.config.settings.autobackup.backupintervalhours = backupInterval;}
3412
@@ -3421,7 +3421,7 @@ module.exports.CreateDB = function (parent, func) {
3421
const child_process = require('child_process');
3422
child_process.exec(cmd, { cwd: backupPath }, function(error, stdout, stdin) {
3423
if ((error != null) && (error != '')) {
3424
- func(1, "pg_dump error, backup will not be performed. Command tried: " + cmd);
3424
+ func(1, "pg_dump error, backup will not be performed. Check path or use pgdumppath.");
3425
return;
3426
} else {parent.config.settings.autobackup.backupintervalhours = backupInterval;}
3427
});
meshcentral.js
+3
-3
@@ -2120,10 +2120,10 @@ function CreateMeshCentralServer(config, args) {
2120
if (obj.args.nousers == true) { obj.updateServerState('nousers', '1'); }
2121
obj.updateServerState('state', "running");
2122
2123
- // Setup auto-backup defaults
2124
- if (obj.config.settings.autobackup == false || obj.config.settings.autobackup == 'false') { obj.config.settings.autobackup = {backupintervalhours: 0}; } //no schedule, but able to console autobackup
2123
+ // Setup auto-backup defaults. Unless autobackup is set to false try to make a backup.
2124
+ if (obj.config.settings.autobackup == false || obj.config.settings.autobackup == 'false') { obj.config.settings.autobackup = {backupintervalhours: -1}; } //block all autobackup functions
2125
else {
2126
- if (obj.config.settings.autobackup == null || obj.config.settings.autobackup === true) { obj.config.settings.autobackup = {backupintervalhours: 24, keeplastdaysbackup: 10}; };
2126
+ if (typeof obj.config.settings.autobackup != 'object') { obj.config.settings.autobackup = {}; };
2127
if (typeof obj.config.settings.autobackup.backupintervalhours != 'number') { obj.config.settings.autobackup.backupintervalhours = 24; };
2128
if (typeof obj.config.settings.autobackup.keeplastdaysbackup != 'number') { obj.config.settings.autobackup.keeplastdaysbackup = 10; };
2129
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; }}