mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-31 01:33:39 -04:00
Fixed auto-backup system.
This commit is contained in:
parent
e70346af04
commit
68813e6405
@ -1341,11 +1341,6 @@ function CreateMeshCentralServer(config, args) {
|
|||||||
if (obj.config.settings.autobackup == null) { obj.config.settings.autobackup = { backupintervalhours: 24, keeplastdaysbackup: 10 }; }
|
if (obj.config.settings.autobackup == null) { obj.config.settings.autobackup = { backupintervalhours: 24, keeplastdaysbackup: 10 }; }
|
||||||
else if (obj.config.settings.autobackup === false) { delete obj.config.settings.autobackup; }
|
else if (obj.config.settings.autobackup === false) { delete obj.config.settings.autobackup; }
|
||||||
|
|
||||||
// Setup auto-backup timer
|
|
||||||
if (obj.config.settings.autobackup && (typeof obj.config.settings.autobackup.backupintervalhours == 'number')) {
|
|
||||||
setInterval(obj.db.performBackup, obj.config.settings.autobackup.backupintervalhours * 60 * 60 * 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setup users that can see all device groups
|
// Setup users that can see all device groups
|
||||||
obj.config.settings.managealldevicegroups = [];
|
obj.config.settings.managealldevicegroups = [];
|
||||||
for (i in obj.config.domains) { if (Array.isArray(obj.config.domains[i].managealldevicegroups)) { for (var j in obj.config.domains[i].managealldevicegroups) { if (typeof obj.config.domains[i].managealldevicegroups[j] == 'string') { obj.config.settings.managealldevicegroups.push('user/' + i + '/' + obj.config.domains[i].managealldevicegroups[j]); } } } }
|
for (i in obj.config.domains) { if (Array.isArray(obj.config.domains[i].managealldevicegroups)) { for (var j in obj.config.domains[i].managealldevicegroups) { if (typeof obj.config.domains[i].managealldevicegroups[j] == 'string') { obj.config.settings.managealldevicegroups.push('user/' + i + '/' + obj.config.domains[i].managealldevicegroups[j]); } } } }
|
||||||
@ -1421,10 +1416,31 @@ function CreateMeshCentralServer(config, args) {
|
|||||||
performSelfUpdate.value--;
|
performSelfUpdate.value--;
|
||||||
obj.db.Set(performSelfUpdate);
|
obj.db.Set(performSelfUpdate);
|
||||||
obj.getLatestServerVersion(function (currentVer, latestVer) { if (currentVer != latestVer) { obj.performServerUpdate(); return; } });
|
obj.getLatestServerVersion(function (currentVer, latestVer) { if (currentVer != latestVer) { obj.performServerUpdate(); return; } });
|
||||||
|
} else {
|
||||||
|
checkAutobackup();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
checkAutobackup();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Check if we need to perform an automatic backup
|
||||||
|
function checkAutobackup() {
|
||||||
|
if (obj.config.settings.autobackup && (typeof obj.config.settings.autobackup.backupintervalhours == 'number')) {
|
||||||
|
obj.db.Get('LastAutoBackupTime', function (err, docs) {
|
||||||
|
if (err != null) return;
|
||||||
|
var lastBackup = 0, now = new Date().getTime();
|
||||||
|
if (docs.length == 1) { lastBackup = docs[0].value; }
|
||||||
|
var delta = now - lastBackup;
|
||||||
|
if (delta > (obj.config.settings.autobackup.backupintervalhours * 60 * 60 * 1000)) {
|
||||||
|
// A new auto-backup is required.
|
||||||
|
obj.db.Set({ _id: 'LastAutoBackupTime', value: now }); // Save the current time in the database
|
||||||
|
obj.db.performBackup(); // Perform the backup
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
// Stop the Meshcentral server
|
// Stop the Meshcentral server
|
||||||
obj.Stop = function (restoreFile) {
|
obj.Stop = function (restoreFile) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user